Subject: Re: Rebasing stgit stacks

From: Catalin Marinas <[email-masked]>
Date: Mon, 22 Jan 2007 17:54:29 +0000

Jakub Narebski <[email-masked]> wrote:
> Yann Dirson wrote:
>> On Thu, Jan 18, 2007 at 09:05:47AM +0000, Catalin Marinas wrote:
>
>>> As Jakub said, I would also call this command 'rebase' instead of
>>> 'pull --to', even if we duplicate a bit of code.
>>> It would make the implementation even simpler
>> 
>> A new command is fine with me, it's just that I feel "rebase <target>"
>> may be confusing to beginners.  I'd rather say "rebase [<stack>] --to
>> <target>", but it's just that I don't see the case for specifying a
>> different stack than the current one.
>
> If you want to move some stack from one branch to other, for example
> from 'next' or next-based branch to 'origin'/'master' or origin-based
> branch you could do either:
>
>   $ git checkout <newbase>
>   $ stg rebase <stack>

Currently, in the StGIT terminology stack and branch are about the
same. If you want to move to a different stack, just use the "stg
branch" command.

I think this should stay as it is since it gets confusing to have a
name for a stack and a different name for a branch. A stack is just a
branch with stgit-specific metadata.

If <newbase> is a branch and 'git checkout' causing to switch
branches, you end up on a different stack.

What you'd probably want is a way to import patches from a different
branch/stack onto the newly checked out branch.

> Although usually you have separate branch as StGIT stack "base", and
> you can simply rebase git branch, then do
>
>   $ stg rebase

I only see the 'rebase' command as a shortcut for:

stg pop -a
git reset --hard <newbase>
stg push -a (or just push the previously popped patches)

-- 
Catalin

P.S. could you cc me to your replies as I only read the GIT mailing
list via gmane and only when I'm at work (and usually work on StGIT at
home)