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

Re: StGIT rebasing safeguard

From
Yann Dirson <ydirson@altern.org>
Date
Jun 19, 2007, 22:37 UTC
Message-ID
<20070619223700.GA7730@nan92-1-81-57-214-146.fbx.proxad.net>
In-Reply-To
<b0943d9e0706191518o6396a2c5u1fb4f0953dc85aa@mail.gmail.com>
On Tue, Jun 19, 2007 at 11:18:56PM +0100, Catalin Marinas wrote:
Show 17 quoted lines
> On 19/06/07, Catalin Marinas <catalin.marinas@gmail.com> wrote:
> >On 14/06/07, Yann Dirson <ydirson@altern.org> wrote:
> >> When the parent branch is a rewinding one (eg. an stgit stack), then
> >> the old version of the patch will be turned to unreachable by
> >> pull/rebase, and we probably have even no way of telling stgit that it
> >> is indeed expected, since the parent stack is a local one.  My own
> >> workflow on StGIT is affected by the issue, since my "bugs" stack is
> >> forked off my "master" stack (but hopefully an hydra will help me ;).
> >
> >If I understand correctly, is this the case where you do a 'stg
> >commit'? This command is meant for branches that are never rebased
> >(i.e. my master stgit branch). For this branch one wouldn't have a
> >remote branch configured and hence git fetch shouldn't do anything.
> 
> I got confused - you were talking about 'stg rebase' rather than the
> 'pull' strategy. But the question remains - are you referring to the
> user running 'stg commit' and losing this commit after a rebase?

Not at all. I'm talking about an stgit stack, whose base is the head of another stack (eg. a "pu" branch). When you want to rebase, the old heads/pu is only reachable from your stack base.

Maybe we can use the parent's reflog, but I'm not sure it would cover all cases, and a reflog can possibly be expired before the information in there gets used.

> The rebase should be equivalent to a git-reset but with
> popping/pushing of the patches one the stack. Once committed, the
> patch is no longer managed by StGIT and therefore we shouldn't care.

That is another issue - and I rather believe we should not allow a user to do that without --force, if what he committed will be unreachable after rebasing. If he intended to loose it, he would usually rather have used "stg delete" than such a convoluted sequence of actions :)

Best regards,
-- 
Yann.
Previous: Catalin MarinasNext: Catalin Marinas
Message 9 of 14 in “Cleanups of the Series object.”
  1. 0/4 Cleanups of the Series object.Yann Dirson, Jun 11, 2007
  2. 1/4 Use get/set_name for a stack's name.Yann Dirson, Jun 11, 2007
  3. 2/4 Abstract a PatchSet object out of Series.Yann Dirson, Jun 11, 2007
  4. Catalin MarinasJun 12, 2007
  5. Yann DirsonJun 13, 2007
  6. Yann DirsonJun 14, 2007
  7. Catalin MarinasJun 19, 2007
  8. Catalin MarinasJun 19, 2007
  9. Yann DirsonJun 19, 2007
  10. Catalin MarinasJun 14, 2007
  11. Yann DirsonJun 15, 2007
  12. Catalin MarinasJun 19, 2007
  13. 3/4 Move stack format-version checks into Stack class.Yann Dirson, Jun 11, 2007
  14. 4/4 Rename branch.*.stgitformatversion to branch.*.stgit.stackformatversion.Yann Dirson, Jun 11, 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.