* admin/authors.el (authors): First update the ChangeLog.
* admin/make-tarball.txt: Related updates.
This commit is contained in:
parent
897fb6fa49
commit
3f4a9d9d26
2 changed files with 30 additions and 17 deletions
|
@ -1361,24 +1361,36 @@ and changed by AUTHOR."
|
|||
(cons (list author wrote-list cowrote-list changed-list)
|
||||
authors-author-list)))))
|
||||
|
||||
(defun authors (root)
|
||||
(defun authors (root &optional nologupdate)
|
||||
"Extract author information from change logs and Lisp source files.
|
||||
ROOT is the root directory under which to find the files. If called
|
||||
interactively, ROOT is read from the minibuffer.
|
||||
Result is a buffer *Authors* containing authorship information, and a
|
||||
buffer *Authors Errors* containing references to unknown files."
|
||||
(interactive "DEmacs source directory: ")
|
||||
ROOT is the root directory under which to find the files.
|
||||
Interactively, read ROOT from the minibuffer.
|
||||
Accurate author information requires up-to-date change logs, so this
|
||||
first updates them, unless optional prefix argument NOLOGUPDATE is non-nil.
|
||||
The result is a buffer *Authors* containing authorship information,
|
||||
and a buffer *Authors Errors* containing references to unknown files."
|
||||
(interactive "DEmacs source directory: \nP")
|
||||
(setq root (expand-file-name root))
|
||||
(unless (file-exists-p (expand-file-name "src/emacs.c" root))
|
||||
(unless (y-or-n-p
|
||||
(format "Not the root directory of Emacs: %s, continue? " root))
|
||||
(user-error "Not the root directory")))
|
||||
;; May contain your personal entries.
|
||||
(or (not (file-exists-p (expand-file-name "ChangeLog" root)))
|
||||
(y-or-n-p "Unversioned ChangeLog present, continue?")
|
||||
(user-error "Unversioned ChangeLog may have irrelevant entries"))
|
||||
(or nologupdate
|
||||
;; There are likely to be things that need fixing, so we update
|
||||
;; the versioned ChangeLog.N rather than the unversioned ChangeLog.
|
||||
(zerop (call-process "make" nil nil nil
|
||||
"-C" root "change-history-nocommit"))
|
||||
(error "Problem updating ChangeLog"))
|
||||
(let ((logs (process-lines find-program root "-name" "ChangeLog*"))
|
||||
(table (make-hash-table :test 'equal))
|
||||
(buffer-name "*Authors*")
|
||||
authors-checked-files-alist
|
||||
authors-invalid-file-names)
|
||||
(authors-add-fixed-entries table)
|
||||
(unless (file-exists-p (expand-file-name "src/emacs.c" root))
|
||||
(unless (y-or-n-p
|
||||
(format "Not the root directory of Emacs: %s, continue? " root))
|
||||
(error "Not the root directory")))
|
||||
(dolist (log logs)
|
||||
(when (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
|
||||
(message "Scanning %s..." log)
|
||||
|
|
|
@ -37,14 +37,15 @@ General steps (for each step, check for possible errors):
|
|||
M-: (require 'authors) RET
|
||||
M-x authors RET
|
||||
|
||||
(This first updates the current versioned ChangeLog.N)
|
||||
|
||||
If there is an "*Authors Errors*" buffer, address the issues.
|
||||
If there was a ChangeLog typo, run "make change-history" and then
|
||||
fix the newest ChangeLog history file. If a file was deleted or
|
||||
renamed, consider adding an appropriate entry to
|
||||
authors-ignored-files, authors-valid-file-names, or
|
||||
If there was a ChangeLog typo, fix the relevant entry.
|
||||
If a file was deleted or renamed, consider adding an appropriate
|
||||
entry to authors-ignored-files, authors-valid-file-names, or
|
||||
authors-renamed-files-alist.
|
||||
|
||||
If necessary, repeat M-x authors after making those changes.
|
||||
If necessary, repeat 'C-u M-x authors' after making those changes.
|
||||
Save the "*Authors*" buffer as etc/AUTHORS.
|
||||
Check the diff looks reasonable. Maybe add entries to
|
||||
authors-ambiguous-files or authors-aliases, and repeat.
|
||||
|
@ -85,8 +86,8 @@ General steps (for each step, check for possible errors):
|
|||
|
||||
5. Copy lisp/loaddefs.el to lisp/ldefs-boot.el.
|
||||
|
||||
Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed
|
||||
by M-x set-version.
|
||||
Commit ChangeLog.N, etc/AUTHORS, lisp/ldefs-boot.el, and the
|
||||
files changed by M-x set-version.
|
||||
|
||||
If someone else made a commit between step 1 and now,
|
||||
you need to repeat from step 4 onwards. (You can commit the files
|
||||
|
|
Loading…
Add table
Reference in a new issue