Strange behavior with git rebase (-i)

5 messages, 3 authors, 2016-06-15 · open the first message on its own page

Strange behavior with git rebase (-i)

From: "Stefan (metze) Metzmacher" <metze@samba.org>
Date: 2016-06-15 22:44:09

Hi,

I just hit a really strange thing:

I was on a branch called 'v4-0-test',
then I did a git rebase -i orgin/v4-0-test
and removed some patches and prefixed all others
with 'edit'.
Then:

git commit --amend
git rebase --continue
git commit --amend
git rebase --continue
git commit --amend
git commit --amend (again)
git branch
 * v4-0-test
git log
 (this showed what I wanted)
git show -p --stat
 (to really make sure that the top revision is the one I want)
git push origin v4-0-test
 And this pushed the top revision BEFORE the rebase!!!
 Because I forgot a 'git rebase --continue' to finalize the rebase.

In the end it's my fault, because I forgot the last rebase --continue,
but I think it's bad that git behaves that way.

Would it be possible to disable some operations while others
are unfinished, git am (-i) might have similar effects.

I was using git 1.5.3.2

Could it be that 6fd2f5e60d4d574ff9e5dd8ce1e229328c785d69 was
created to fix a similar problem?

metze

http://gitweb.samba.org/?p=samba.git;a=commit;h=ec0ee2aa5f4bef32f09a426d91c28c985f843038
and the 10 commits before...:-(

Re: Strange behavior with git rebase (-i)

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:44:09

Hi,

On Sat, 2 Feb 2008, Stefan (metze) Metzmacher wrote:
[started git rebase -i]
git commit --amend (again)
git branch
 * v4-0-test
git log
 (this showed what I wanted)
git show -p --stat
 (to really make sure that the top revision is the one I want)
git push origin v4-0-test
 And this pushed the top revision BEFORE the rebase!!!
 Because I forgot a 'git rebase --continue' to finalize the rebase.
I don't believe it.  "git branch" would have shown "* (no branch)" as 
current branch, unless the rebase is finalized.

git rebase -i works on a _detached_ HEAD, for two reasons:

- easier working with reflogs (as the branch's reflog shows before rebase 
and after rebase, but nothing in between), and

- to prevent exactly the scenario you are describing.

Ciao,
Dscho

Re: Strange behavior with git rebase (-i)

From: Steven Walter <hidden>
Date: 2016-06-15 22:44:09

On Sat, Feb 02, 2008 at 03:42:06PM +0000, Johannes Schindelin wrote:
I don't believe it.  "git branch" would have shown "* (no branch)" as 
current branch, unless the rebase is finalized.

git rebase -i works on a _detached_ HEAD, for two reasons:
On Sat, 2 Feb 2008, Stefan (metze) Metzmacher wrote:
quoted
I was using git 1.5.3.2
Did rebase -i in git 1.5.3.2 use a detached head?  I thought that was
new in 1.5.4.
-- 
-Steven Walter [off-list ref]
Freedom is the freedom to say that 2 + 2 = 4
B2F1 0ECC E605 7321 E818  7A65 FC81 9777 DC28 9E8F 

Re: Strange behavior with git rebase (-i)

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:44:09

Hi,

On Sat, 2 Feb 2008, Steven Walter wrote:
On Sat, Feb 02, 2008 at 03:42:06PM +0000, Johannes Schindelin wrote:
quoted
I don't believe it.  "git branch" would have shown "* (no branch)" as 
current branch, unless the rebase is finalized.

git rebase -i works on a _detached_ HEAD, for two reasons:
quoted
On Sat, 2 Feb 2008, Stefan (metze) Metzmacher wrote:
quoted
I was using git 1.5.3.2
Did rebase -i in git 1.5.3.2 use a detached head?  I thought that was
new in 1.5.4.
rebase -i uses a detached HEAD since it was merged.  In 1.5.4, rebase 
(note the absence of -i) uses a detached HEAD, too.

Ciao,
Dscho

Re: Strange behavior with git rebase (-i)

From: "Stefan (metze) Metzmacher" <metze@samba.org>
Date: 2016-06-15 22:44:09

Johannes Schindelin schrieb:
Hi,

On Sat, 2 Feb 2008, Steven Walter wrote:
quoted
On Sat, Feb 02, 2008 at 03:42:06PM +0000, Johannes Schindelin wrote:
quoted
I don't believe it.  "git branch" would have shown "* (no branch)" as 
current branch, unless the rebase is finalized.

git rebase -i works on a _detached_ HEAD, for two reasons:
On Sat, 2 Feb 2008, Stefan (metze) Metzmacher wrote:
quoted
I was using git 1.5.3.2
Did rebase -i in git 1.5.3.2 use a detached head?  I thought that was
new in 1.5.4.
rebase -i uses a detached HEAD since it was merged.  In 1.5.4, rebase 
(note the absence of -i) uses a detached HEAD, too.
Hmm, I can't reproduce this...maybe I was just to stupid and didn't look
at the git branch output carefully...

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