git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Bug, git rebase -i does not abort correctly

From
Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Date
Jan 26, 2018, 07:50 UTC
Message-ID
<1516953056.8886.3.camel@gmail.com>
In-Reply-To
<CACsJy8Dzh5E8JUDkwFmYTwS6KgqGc_1rJBVsDCoC9EpcSShN2Q@mail.gmail.com>
Hi,
On Thursday 25 January 2018 05:43 PM, Duy Nguyen wrote:
Show 12 quoted lines
> rebase scripts are too much for me, so I'll play the user reporting
> bugs this time :)
> 
> Instead of doing
> 
>     $ git rebase -i --onto origin/master @~3
> 
> I sometimes accidentally type
> 
>     $ git rebase -i origin/master @~3
> 
> ("rebase -i" is actually an alias, which is why I never forget to
type -i)
> 
> Usually the todo list in $EDITOR shows noop, I realize my mistake and
> try to abort it by clearing the todo list before saving and closing
> $EDITOR. The problem is, HEAD is moved away anyway (to origin/master
I
> think) 

For me it left HEAD at @~3. Reading the synopsis of `man git rebase` I could guess that the corresponding abstract form would be,

    $ git rebase -i <upstream> <branch>
> even if rebase is supposed to abort the operation and leave
> HEAD untouched.
> 
This might seem to be a bug as the comment in "git-rebase-todo" says,
    However, if you remove everything, the rebase will be aborted.
But "man git rebase" clearly says,
    If <branch> is specified, git rebase will perform an automatic "git
    checkout <branch>" before doing anything else. Otherwise it remains
    on
    the current branch.

Junio has previously confirmed that "git rebase [-i] <upstream> <branch>" is just a short hand for "git checkout <branch> && git rebase [-i] <upstream>".[ref 1] So, it's not surprising that it left HEAD at @~3 when you completely removed the contents of git-rebase-todo and exited the editor.

Does that help solve your issue?
[ref 1]: 
https://public-inbox.org/git/%3Cxmqqpo8387hz.fsf@gitster.mtv.corp.google.com%3E

--  Kaartic

QUOTE

“It is impossible to live without failing at something, unless you live so cautiously that you might as well not have lived at all – in which case, you fail by default.”

      - J. K. Rowling
WIKIPEDIA: DID YOU KNOW?
Only 33% of internet users in India have heard of Wikipedia !!
* What do you think could be the reason behind this?
* What are ways in which the awareness about Wikipedia in India and
other countries be increased ?
Reference:
* Give your ideas for increasing the awareness of Wikipedia in India
and
in other countries and get a Grant from the Wikimedia Foundation to
bring your idea to life.
  https://meta.wikimedia.org/wiki/Grants:IdeaLab/Inspire
* Know more about the awareness problem of Wikipedia
  https://meta.wikimedia.org/wiki/New_Readers/Awareness
  https://meta.wikimedia.org/wiki/New_Readers/Next_steps/Raising_awareness
-- 
Kaartic

Hi,

I seem to able to reproduce your issue. More comments inline.

On Thursday 25 January 2018 05:43 PM, Duy Nguyen wrote:
> rebase scripts are too much for me, so I'll play the user reporting
> bugs this time :)
> 
> Instead of doing
> 
>     $ git rebase -i --onto origin/master @~3
> 
> I sometimes accidentally type
> 
>     $ git rebase -i origin/master @~3
> 
> ("rebase -i" is actually an alias, which is why I never forget to type -i)
> 
> Usually the todo list in $EDITOR shows noop, I realize my mistake and
> try to abort it by clearing the todo list before saving and closing
> $EDITOR. The problem is, HEAD is moved away anyway (to origin/master I
> think) 

For me it left HEAD at @~3. Reading the synopsis of `man git rebase` I
could guess that the corresponding abstract form would be,

    $ git rebase -i <upstream> <branch>


> even if rebase is supposed to abort the operation and leave
> HEAD untouched.
> 

This might seem to be a bug as the comment in "git-rebase-todo" says,

    However, if you remove everything, the rebase will be aborted.

But "man git rebase" clearly says,

    If <branch> is specified, git rebase will perform an automatic git
checkout <branch> before doing anything else. Otherwise it remains on
       the current branch.
Surprisingly when git-rebase-todo's content is only a "noop" just
closing the editor without removing the contents also seems to be lying
as it checks
-- 
Kaartic

QUOTE

“It is impossible to live without failing at something, unless you live
so cautiously that you might as well not have lived at all – in which
case, you fail by default.”

      - J. K. Rowling


WIKIPEDIA: DID YOU KNOW?

Only 33% of internet users in India have heard of Wikipedia !!

* What do you think could be the reason behind this?

* What are ways in which the awareness about Wikipedia in India and
other countries be increased ?

Reference:

* Give your ideas for increasing the awareness of Wikipedia in India and
in other countries and get a Grant from the Wikimedia Foundation to
bring your idea to life.

  https://meta.wikimedia.org/wiki/Grants:IdeaLab/Inspire

* Know more about the awareness problem of Wikipedia

  https://meta.wikimedia.org/wiki/New_Readers/Awareness

  https://meta.wikimedia.org/wiki/New_Readers/Next_steps/Raising_awareness
Previous: Duy NguyenNext: Duy Nguyen
Message 2 of 4 in “Bug, git rebase -i does not abort correctly”
  1. Duy NguyenJan 25, 2018
  2. Kaartic SivaraamJan 26, 2018
  3. Duy NguyenJan 26, 2018
  4. Kaartic SivaraamMar 13, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.