From: Sean Whitton <spwhitton@spwhitton.name>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Morgan.J.Smith@outlook.com, 64055@debbugs.gnu.org, dgutov@yandex.ru
Subject: bug#64055: Implementation of modifying VC change comments for Git
Date: Tue, 22 Oct 2024 16:25:52 +0800 [thread overview]
Message-ID: <87y12gfsrz.fsf@melete.silentflame.com> (raw)
In-Reply-To: <86a5exh8ib.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 21 Oct 2024 16:48:28 +0300")
Hello,
Thanks for trying the manual rebase.
On Mon 21 Oct 2024 at 04:48pm +03, Eli Zaretskii wrote:
> But let me describe what I did and saw, to make sure I did it
> correctly.
>
>> git rebase --autosquash -i REV~1
>>
>> where REV is the sha1 of the commit whose message you intend to edit.
>
> At this point "git log" shows a revision with my amended log message
> (let's call this AMENDED-REV), followed by the revision with the
> original log message (let's call it ORIG-REV). So my Git command
> looks like this:
>
> git rebase --autosquash -i ORIG-REV~1
>
> After this step, I see this in the editor (where I indented the text
> by 2 columns):
>
> pick bf73d7e Foobar with some Unicode אבגד ą ě č
> # pick bc3c567b2b136d040fd13373b6594c1ec026fec6 Foobar with some Unicode אבגד ą ě č
There are two things about this output that are unexpected to me:
- The first line of the AMENDED-REV message does not appear to start
with "amend!". I thought that you confirmed in a previous message
that the commit messsage of AMENDED-REV did have this structure:
amend! <ORIG-REV sha1>
<AMENDED-REV amended message>
- The line for the AMENDED-REV message is commented out. That means
that git-rebase proposes to drop the commit. I would guess that git
wants to drop it because it introduces no content changes.
> Does this mean it didn't work? or did I misinterpret the steps?
I think that there are two possibilities. If you lost the magic
"amend!" commit then please try again with an AMENDED-REV whose commit
message has the special "amend!" structure.
You can create one manually by passing --allow-empty to git-commit, or
you can use the previous version of my patch with everything except the
call to git-commit commented out -- here's the diff doing the
commenting-out again, if you need it.
On the other hand, if your AMENDED-REV does have the special "amend!"
structure, then I think we have to conclude that the older Git you have
does not support these special "amend!" commits at all, and so we can't
support it for log-view-modify-change-comment.
--8<---------------cut here---------------start------------->8---
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 59d5386bc72..d2ada63f71e 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -2042,8 +2042,8 @@ vc-git-modify-change-comment
;; % git commit --allow-empty -m...
;; % git rebase --autosquash -i REV~1
;; % git stash pop
- (unless nothing-staged
- (vc-git-command nil 0 nil "stash" "push"))
+ ;; (unless nothing-staged
+ ;; (vc-git-command nil 0 nil "stash" "push"))
(unwind-protect
(progn
(when (cl-intersection '("--author" "--date") args
@@ -2064,12 +2064,15 @@ vc-git-modify-change-comment
(list "-m" message))
args)))
(when (and msg-file (file-exists-p msg-file))
- (delete-file msg-file)))
- (with-environment-variables (("GIT_SEQUENCE_EDITOR" "true"))
- (vc-git-command nil 0 nil "rebase" "--autosquash" "-i"
- (format "%s~1" rev)))
- (unless nothing-staged
- (vc-git-command nil 0 nil "stash" "pop" "--index"))))
+ ;; (delete-file msg-file)
+ ))
+ ;; (with-environment-variables (("GIT_SEQUENCE_EDITOR" "true"))
+ ;; (vc-git-command nil 0 nil "rebase" "--autosquash" "-i"
+ ;; (format "%s~1" rev)))
+ ;; (unless nothing-staged
+ ;; (vc-git-command nil 0 nil "stash" "pop" "--index"))
+ (message "temporary file is: %s" msg-file)
+ ))
(defvar vc-git-extra-menu-map
(let ((map (make-sparse-keymap)))
--8<---------------cut here---------------end--------------->8---
--
Sean Whitton
next prev parent reply other threads:[~2024-10-22 8:25 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-13 22:59 bug#64055: [WIP Patch] Enable editing commit messages - vc-git-modify-change-comment Morgan Smith
2023-06-14 8:00 ` Robert Pluim
2023-06-14 11:41 ` Morgan Smith
2023-06-14 13:13 ` Robert Pluim
2023-06-14 13:54 ` Morgan Smith
2023-06-14 15:30 ` Robert Pluim
2024-10-01 2:38 ` Sean Whitton
2024-10-01 19:32 ` Dmitry Gutov
2024-10-02 0:01 ` Sean Whitton
2024-10-02 23:20 ` Dmitry Gutov
2024-10-10 2:39 ` Sean Whitton
2024-10-10 2:48 ` Sean Whitton
2024-10-17 13:27 ` Sean Whitton
2024-10-18 5:26 ` Eli Zaretskii
2024-10-18 6:20 ` Sean Whitton
2024-10-18 9:14 ` Eli Zaretskii
2024-10-18 9:30 ` Sean Whitton
2024-10-18 12:18 ` Eli Zaretskii
2024-10-20 0:56 ` Sean Whitton
2024-10-20 4:58 ` Eli Zaretskii
2024-10-20 5:29 ` Sean Whitton
2024-10-20 6:09 ` Eli Zaretskii
2024-10-20 7:18 ` Sean Whitton
2024-10-20 8:20 ` Eli Zaretskii
2024-10-20 8:42 ` Sean Whitton
2024-10-20 8:56 ` Eli Zaretskii
2024-10-18 0:46 ` Dmitry Gutov
2024-10-18 4:50 ` Sean Whitton
2024-10-20 0:16 ` Dmitry Gutov
2024-10-20 0:58 ` Sean Whitton
2023-06-17 2:40 ` Dmitry Gutov
2024-10-01 2:37 ` Sean Whitton
2024-10-01 13:35 ` Dmitry Gutov
2024-10-10 2:45 ` Sean Whitton
2024-10-10 6:12 ` Eli Zaretskii
2024-10-10 6:23 ` Sean Whitton
2024-10-10 7:36 ` Eli Zaretskii
2024-10-10 7:46 ` Sean Whitton
2024-10-18 9:26 ` bug#64055: Implementation of modifying VC change comments for Git Sean Whitton
2024-10-19 10:28 ` Eli Zaretskii
2024-10-20 5:19 ` Sean Whitton
2024-10-20 8:32 ` Eli Zaretskii
2024-10-20 8:59 ` Sean Whitton
2024-10-20 9:19 ` Eli Zaretskii
2024-10-20 9:25 ` Sean Whitton
2024-10-20 9:46 ` Sean Whitton
2024-10-20 11:24 ` Eli Zaretskii
2024-10-20 13:11 ` Sean Whitton
2024-10-20 13:52 ` Eli Zaretskii
2024-10-21 0:01 ` Dmitry Gutov
2024-10-21 1:45 ` Sean Whitton
2024-10-21 5:27 ` Eli Zaretskii
2024-10-21 1:52 ` Sean Whitton
2024-10-21 13:48 ` Eli Zaretskii
2024-10-22 8:25 ` Sean Whitton [this message]
2024-10-22 13:27 ` Eli Zaretskii
2024-10-22 13:42 ` Sean Whitton
2024-10-22 14:20 ` Eli Zaretskii
2024-10-22 14:52 ` Sean Whitton
2024-10-20 11:18 ` Eli Zaretskii
2024-10-20 23:55 ` Dmitry Gutov
2024-10-21 2:10 ` Sean Whitton
2024-10-21 0:09 ` Dmitry Gutov
2024-10-21 2:01 ` Sean Whitton
2024-10-21 5:39 ` Eli Zaretskii
2024-10-21 5:46 ` Sean Whitton
2024-10-21 5:49 ` Eli Zaretskii
2024-10-21 19:56 ` Dmitry Gutov
2024-10-22 8:29 ` Sean Whitton
2024-10-21 20:08 ` Dmitry Gutov
2024-10-22 8:30 ` Sean Whitton
2024-10-26 1:58 ` Dmitry Gutov
2024-10-26 3:12 ` Sean Whitton
2024-10-27 1:05 ` Dmitry Gutov
2024-10-27 2:25 ` Sean Whitton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y12gfsrz.fsf@melete.silentflame.com \
--to=spwhitton@spwhitton.name \
--cc=64055@debbugs.gnu.org \
--cc=Morgan.J.Smith@outlook.com \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.