Thread (4 messages) flat view 4 messages, 2 authors, 2016-06-15

Re: [PATCH 2/2] git-rebase--interactive: auto amend only edited commit

From: Dmitry Potapov <hidden>
Date: 2016-06-15 22:45:20

On Tue, Sep 09, 2008 at 08:42:57AM +0200, Johannes Sixt wrote:
Dmitry Potapov schrieb:
quoted
Another problem is that after being stopped at "edit", the user adds new
commits. In this case, automatic amend behavior of git rebase triggered
by some stage changes causes that not only that the log message of the
last commit is lost but that it will contain also wrong Author and Date
information.

Therefore, this patch restrict automatic amend only to the situation
where HEAD is the commit at which git rebase stop by "edit" command.
...
quoted
@@ -430,6 +430,8 @@ do
 			if test -f "$DOTEST"/amend
 			then
 				amend=$(git rev-parse --verify HEAD)
+				test "$amend" = $(cat "$DOTEST"/amend) ||
+				die "You have uncommitted changes"
Doesn't this terse message carry a bit of a "WTF?" factor?
Agreed. However, the current message in the case when you have some
unstaged changes in your working tree is not much better:
  "Working tree is dirty"
In other
situations rebase --continue goes into git-commit just fine, but it does
not under these special conditions. How about this:

"Will not auto-commit uncommitted changes after you have already committed
something. Please run 'git commit --amend' yourself."
I don't think this is the right suggestion. In cases that I mentioned above
(and in some others), you may want to run 'git commit' *without* --amend.
Only user may know how those changes should be committed. Giving him/her
a direct instruction to run some specific command will produce the wrong
result in half cases. So, how about this:

"You have uncommitted changes in your working tree. Please, commit them
first and then run 'git rebase --continue' again."

or if you want to describe the cause why auto-commit does not work:

"Will not auto-commit uncommitted changes after you have already committed
something. Please commit them first and then run 'git rebase --continue'
again."

Personally, I believe those words about auto-commit is not very helpful.
Auto-commit-on-edit feature is undocumented. So, those words may be more
confusing than helpful, because the user starts thinking what this auto-
commit means, while the real question here is whether changes should be
committed with --amend or without it.

Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help