unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
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





  reply	other threads:[~2024-10-22  8:25 UTC|newest]

Thread overview: 70+ 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-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

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

  List information: https://www.gnu.org/software/emacs/

* 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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).