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

Re: Rebasing stgit stacks

From
Yann Dirson <ydirson@altern.org>
Date
Jan 22, 2007, 19:47 UTC
Message-ID
<20070122194756.GA4083@nan92-1-81-57-214-146.fbx.proxad.net>
In-Reply-To
<tnxirezueui.fsf@arm.com>
On Mon, Jan 22, 2007 at 05:54:29PM +0000, Catalin Marinas wrote:
Show 23 quoted lines
> Jakub Narebski <jnareb@gmail.com> 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 you missed the point. StGIT stacks are usually forked off another branch. As I understand it, Jakub talks about standard rebasing, ie. moving the stack base from its current parent branch to a new one.

> A stack is just a branch with stgit-specific metadata.

I would rather say that an StGIT stacks uses a branch, but the stack is not the branch - eg, unapplied patches do not belong to the branch.

Indeed I was thinking about that today, and thought that maybe it would make sense not to use a head ref (and thus not using a real branch), which would minimize the risk of someone committing by error (and thus minimize the need to use "assimilate"), since porcelainish commit tools would then refuse to commit there.

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

Sometimes you just want to throw out an obsolete branch and move your stack to a new baseline. That said, being able to duplicate a stack (and possibly rebasing it afterwards) would be useful as well.

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

Oh, I think I understand - he probably uses "base" to refer to what I call "parent branch", and not to the refs/bases/<branch> reference...

Best regards,
-- 
yann.
Previous: Catalin MarinasNext: Catalin Marinas
Message 26 of 36 in “Howto use StGit and git-svn at same time”
  1. Guilhem BonnefilleJan 9, 2007
  2. Guilhem BonnefilleJan 9, 2007
  3. Yann DirsonJan 9, 2007
  4. Guilhem BonnefilleJan 15, 2007
  5. Rebasing stgit stacksYann Dirson, Jan 15, 2007
  6. Catalin MarinasJan 15, 2007
  7. Yann DirsonJan 15, 2007
  8. Catalin MarinasJan 16, 2007
  9. Yann DirsonJan 16, 2007
  10. Jakub NarebskiJan 16, 2007
  11. Karl HasselströmJan 17, 2007
  12. David KågedalJan 17, 2007
  13. Yann DirsonJan 17, 2007
  14. Yann DirsonJan 17, 2007
  15. Catalin MarinasJan 18, 2007
  16. Yann DirsonJan 18, 2007
  17. Jakub NarebskiJan 19, 2007
  18. Yann DirsonJan 20, 2007
  19. Jakub NarebskiJan 20, 2007
  20. Yann DirsonJan 20, 2007
  21. Catalin MarinasJan 22, 2007
  22. Catalin MarinasJan 18, 2007
  23. Yann DirsonJan 18, 2007
  24. Jakub NarebskiJan 19, 2007
  25. Catalin MarinasJan 22, 2007
  26. Yann DirsonJan 22, 2007
  27. Catalin MarinasJan 22, 2007
  28. Yann DirsonJan 23, 2007
  29. Catalin MarinasJan 23, 2007
  30. Yann DirsonJan 24, 2007
  31. Catalin MarinasJan 24, 2007
  32. Yann DirsonJan 24, 2007
  33. Theodore TsoJan 28, 2007
  34. Yann DirsonJan 28, 2007
  35. Catalin MarinasJan 28, 2007
  36. Yann DirsonJan 17, 2007

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.