From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Karl Hasselström" <kha@treskal.com>
Cc: "Git Mailing List" <git@vger.kernel.org>
Subject: Re: stgit: lost all my patches again
Date: Wed, 28 Nov 2007 11:21:05 -0500 [thread overview]
Message-ID: <9e4733910711280821s3872eff5m95073ca6b1b8a689@mail.gmail.com> (raw)
In-Reply-To: <20071128160410.GB19302@diana.vm.bytemark.co.uk>
On 11/28/07, Karl Hasselström <kha@treskal.com> wrote:
> On 2007-11-28 10:06:57 -0500, Jon Smirl wrote:
>
> > I did this:
> > all pataches were applied
> > git rebase
>
> At this point, a simple "git reset --hard HEAD@{1}" should have fixed
> the problem. Not much use knowing that now, I know, but still ... :-)
>
> > stg repair -- partial repair, some patches empty, half are pushed
>
> Modulo any bugs, this should have adjusted the appliedness of your
> patches to match the new HEAD (patches are applied iff they are
> reachable from HEAD) and made patches of any non-patch commits sitting
> between a patch and HEAD. Nothing else. In particular, it doesn't
> change your existing patches or change HEAD, so those empty patches
> were empty even before the repair. (Modulo any bugs, of course, but
> that kind of bug seems really unlikely.)
I don't know exactly what is going one, but all of my patches are in
commits in front of the rebase. I believe when they were applied
again, git detected that the changes were already in the tree and that
why the patches are empty. Normally stg would have popped all my
patches before doing the rebase.
I have messed the branch up doing manual recover, but the conditions
are easy enough to recreate.
>
> > moved HEAD back in front of rebase
> > stg repair - it show all my patches as popped,
>
> That sounds OK. You reset HEAD to a commit early enough in history
> that no patches are reachable from it.
>
> > but when I started doing command it complain that some commits that
> > stg needed were not there.
>
> That sounds seriously broken. What exactly was the complaint? Missing
> commit objects?
>
> > The complaint was caused by the first repair. The first repair
> > altered some of the stg state to point at commits past the rebase.
>
> Yes. It would have made patches out of some of the rebased commits, in
> order to give you a consistent state. For example, assume you started
> with the following situation:
>
> (cN are commits, pN are commits that are also StGit patches)
>
> ...---c0---c1---p0---p1---p2---p3---p4:HEAD
>
> You git-rebase, causing a situation like this:
>
> ...---c0---c1---p0---p1---p2---p3---p4
> \
> c2---c3---c4---c5---c6---c7---c8:HEAD
>
> "stg repair" at this point will see that p2..p4 should be unapplied
> since they aren't reachable from HEAD, and c2..c8 need to be made
> patches since they are on top of p1.
>
> Generally, what you want to do is to git-reset to the commit you want
> HEAD to be, and _then_ run stg repair.
>
> --
> Karl Hasselström, kha@treskal.com
> www.treskal.com/kalle
>
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2007-11-28 16:21 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-27 22:17 stgit: lost all my patches again Jon Smirl
2007-11-27 22:24 ` Jakub Narebski
2007-11-27 23:12 ` Jon Smirl
2007-11-28 9:34 ` Karl Hasselström
2007-11-28 10:17 ` StGit hooks Karl Hasselström
2007-11-28 11:44 ` Andreas Ericsson
2007-11-28 12:19 ` Karl Hasselström
2007-11-28 13:14 ` Andreas Ericsson
2007-11-28 13:26 ` Karl Hasselström
2007-11-28 14:11 ` Andreas Ericsson
2007-11-28 14:53 ` Jon Smirl
2007-11-28 14:58 ` Andreas Ericsson
2007-11-28 15:40 ` Karl Hasselström
2007-11-28 17:06 ` Andreas Ericsson
2007-11-28 17:21 ` Karl Hasselström
2007-11-28 19:31 ` Junio C Hamano
2007-11-28 15:06 ` stgit: lost all my patches again Jon Smirl
2007-11-28 16:04 ` Karl Hasselström
2007-11-28 16:21 ` Jon Smirl [this message]
2007-11-28 16:41 ` Karl Hasselström
2007-11-28 16:58 ` Jon Smirl
2007-11-28 17:19 ` Karl Hasselström
2007-11-30 6:35 ` [StGit PATCH] Make "stg repair" help text more helpful Karl Hasselström
2007-11-28 0:37 ` stgit: lost all my patches again Junio C Hamano
2007-11-28 2:59 ` Jon Smirl
2007-11-28 6:32 ` Karl Hasselström
-- strict thread matches above, loose matches on Subject: below --
2007-10-04 5:29 Jon Smirl
2007-10-04 8:33 ` Karl Hasselström
2007-10-04 12:10 ` Jon Smirl
2007-10-04 13:06 ` Jon Smirl
2007-10-04 15:38 ` Karl Hasselström
2007-10-04 15:45 ` David Brown
2007-10-04 17:29 ` Karl Hasselström
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9e4733910711280821s3872eff5m95073ca6b1b8a689@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=git@vger.kernel.org \
--cc=kha@treskal.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).