summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2016-05-25 14:45:05 -0400
committerGlenn Morris <rgm@gnu.org>2016-05-25 14:45:05 -0400
commit853b9b92072e9eff11aff9c0110380c9a93864ca (patch)
tree548a5e4ed92faf57ebc7ee4e4e1306ce8ed7949c
parent5fa80cfe9fc1b7056b5cbf7fa6a44a23611d6f01 (diff)
downloademacs-853b9b9.tar.gz
* admin/admin.el (add-release-logs): Basic check of existing ChangeLog.
-rw-r--r--admin/admin.el20
1 files changed, 13 insertions, 7 deletions
diff --git a/admin/admin.el b/admin/admin.el
index 33b0808f4fa..4af1ff9003a 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -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"))