Examine the output of git log
since the last time the Change Log was updated
and narrow it down to notable commits, e.g. new variables, bug fixes, breaking
changes, etc. Write a few sentences describing the change and how it affects
users going forward.
git log --pretty=format:"%s" ${PREV_VERSION}...${VERSION}
- Increment copyright years, if needed
- Set the Version header
- Set
jupyter-version
in file:jupyter-base.el
git ls-files | grep -E '.el$'
(lambda (file fun)
(let* ((buf (find-buffer-visiting file))
(kill (null buf)))
(unless buf
(setq buf (find-file-noselect file)))
(with-current-buffer buf
(save-excursion
(save-restriction
(widen)
(goto-char (point-min))
(funcall fun)
(save-buffer)
(when kill
(kill-buffer)))))))
(let ((lexical-binding t)
(copyright-re "^;; Copyright (C) \\([0-9]+\\)\\(?:-\\([0-9]+\\)\\)?")
(version-re "^;; Version: \\(\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)\\)")
(this-year (format-time-string "%Y")))
(dolist (file files)
(funcall
eval-in-file (car file)
(lambda ()
(when (re-search-forward copyright-re nil t)
(let* ((end-group (if (match-string 2) 2 1))
(new-span (= end-group 1)))
(if (not new-span) (replace-match this-year nil nil nil end-group)
(goto-char (match-end end-group))
(insert "-" this-year))))
(when (re-search-forward version-re nil t)
(replace-match version nil nil nil 1)))))
(funcall eval-in-file "jupyter-base.el"
(lambda ()
(when (re-search-forward "^(defconst jupyter-version \"\\(.+\\)\"")
(replace-match version nil nil nil 1)))))
- Updates project metadata
- Creates tagged (and signed) commit