Re: git rebase -i does not rebase if all lines are removed

2012-07-17 Thread Johannes Sixt
Am 7/17/2012 12:55, schrieb Carlos Martín Nieto:
> But more important would be /why/ you feel that rebase -i is the tool
> you should be using. If you'd like to move the branch pointer back,
> that's what the reset command is for.

Perhaps because that's not what the OP wanted to do?

Sometimes it happens that you rebase a bunch of commits, and only a
handful remains because the others are already in upstream. Looking at
each remaining one closely, you decide that they don't have to be rebased
(maybe because slightly modified versions are in upstream), so you remove
them one by one, and you end up with an empty list.

This has happened to me at one point, and writing "noop" after the list is
empty is a minor nuisance. But I am not complaining. Because being able to
abort an interactive rebase by clearing the list is much more important.

-- Hannes
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git rebase -i does not rebase if all lines are removed

2012-07-17 Thread Carlos Martín Nieto
On Tue, 2012-07-17 at 13:46 +0300, Orgad and Raizel Shaneh wrote:
> Make a commit on top of master.
> 
> git rebase -i origin/master
> 
> Remove the commit.
> 
> Git prints "Nothing to do" and does not rebase.
> 
> Running 'git rebase -i' when there are no local commits has 'noop' in
> the first line, and with it the rebase is successful. Why is this
> 'noop' mandatory?

If you read the instructions, the last line says

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

so if you want to do a no-op, then you need to tell it. This is the same
way you abort a commit, by providing it with an empty message.

But more important would be /why/ you feel that rebase -i is the tool
you should be using. If you'd like to move the branch pointer back,
that's what the reset command is for. rebase deals with moving commits
from one base to another and optionally reordering, squashing or
removing some of them.

   cmn


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html