diff options
| author | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2020-09-25 17:05:10 +0200 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2020-09-25 17:21:47 +0200 |
| commit | 5e93926f172dda15e0f4cddcb3dcfe55b1e426ba (patch) | |
| tree | 122b62ad39ab884bc417b1ad198b88faff3fa2ac | |
| parent | 314d88bb4f3a7a7df743a3e1dff42d40fc4a6c6c (diff) | |
| download | dotfiles-5e93926f172dda15e0f4cddcb3dcfe55b1e426ba.tar.xz | |
Simplify revision-formatting function
Commit 2020-09-25 "* CONTRIBUTE: Don't recommend action
stamps" (499848d840) officially disavows action stamps.
| -rw-r--r-- | .emacs | 29 |
1 files changed, 11 insertions, 18 deletions
@@ -260,28 +260,21 @@ ((derived-mode-p 'magit-mode) (magit-branch-or-commit-at-point)))) -(eval-when-compile - ;; Load rx's pcase pattern. - (require 'rx)) - -(defun my/action-stamp-at-point (rev) +(defun my/describe-revision (rev) + "Format a Git revision in a format suitable for changelogs." (interactive (list (let* ((rev (my/revision-at-point)) - (prompt (if rev (format "Revision? (%s) " rev) "Revision? "))) + (prompt (format-prompt "Revision" rev))) (read-string prompt nil nil rev)))) - (let* ((cmd "git show --no-patch --date=unix --format='%ad!%ae'") - (git-info (shell-command-to-string (format "%s %s" cmd rev)))) - (pcase git-info - ((rx (let timestamp-str (+ digit)) - "!" - (let mail (+ anychar)) - "\n") - (let* ((timestamp (string-to-number timestamp-str)) - (date (format-time-string "%FT%TZ" timestamp t)) - (action-stamp (format "%s!%s" date mail))) - (kill-new action-stamp) - (message action-stamp)))))) + (let* ((rev-fmt "%cd \"%s\" (%h)") + (desc + (string-trim + (shell-command-to-string + (format "git show --no-patch --date=short --format='%s' %s" + rev-fmt rev))))) + (kill-new desc) + (message desc))) ;; Major modes configuration |
