1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-23 10:34:07 +00:00

* admin/admin.el (add-release-logs): Basic check of existing ChangeLog.

This commit is contained in:
Glenn Morris 2016-05-25 14:45:05 -04:00
parent 5fa80cfe9f
commit 853b9b9207

View File

@ -43,13 +43,19 @@ Optional argument DATE is the release date, default today."
(setq root (expand-file-name root))
(unless (file-exists-p (expand-file-name "src/emacs.c" root))
(user-error "%s doesn't seem to be the root of an Emacs source tree" root))
;; FIXME this does not check that a ChangeLog that exists is not
;; your own personal one. Perhaps we should move any existing file
;; and unconditionally call make ChangeLog?
;; Or make ChangeLog CHANGELOG=temp and compare with the existing?
(or (file-exists-p (expand-file-name "ChangeLog" root))
(zerop (call-process "make" nil nil nil "-C" root "ChangeLog"))
(error "Problem generating ChangeLog"))
(let ((clog (expand-file-name "ChangeLog" root)))
(if (file-exists-p clog)
;; Basic check that a ChangeLog that exists is not your personal one.
;; TODO Perhaps we should move any existing file and unconditionally
;; call make ChangeLog? Or make ChangeLog CHANGELOG=temp and compare
;; with the existing?
(with-temp-buffer
(insert-file-contents clog)
(or (re-search-forward "^[ \t]*Copyright.*Free Software" nil t)
(user-error "ChangeLog looks like a personal one - remove it?")))
(or
(zerop (call-process "make" nil nil nil "-C" root "ChangeLog"))
(error "Problem generating ChangeLog"))))
(require 'add-log)
(or date (setq date (funcall add-log-time-format nil t)))
(let* ((logs (process-lines "find" root "-name" "ChangeLog"))