From: Sam Vilain <sam@vilain.net>
To: Dave Mitchell <davem@iabyn.com>
Cc: Rafael Garcia-Suarez <rgarciasuarez@gmail.com>,
perl5-porters@perl.org, git@vger.kernel.org
Subject: Re: understanding merge history
Date: Mon, 09 Feb 2009 11:16:06 +1300 [thread overview]
Message-ID: <498F59A6.4000402@vilain.net> (raw)
In-Reply-To: <20090204212808.GS3558@iabyn.com>
Dave Mitchell wrote:
> Perhaps I was misunderstanding rerere. I assumed it would only replay
> identical resolves on the same branch, rather than being able to cope with
> slightly different resolves on a different branch.
>
> However, after playing with it just now I can't seem to get it to work in
> the initial phase of recording a resolve that has previously taken place.
>
> Given three commits A,B M, where M is a previous merge of A,B:
>
> A-M
> /
> B
>
> I tried the following:
>
> git checkout A
> git merge B # replay the initial conflict
> git rerere clear
> git rerere # record the initial conflict state
>
> git reset --hard M # simulate the post-resolve state
> git rerere # and record it
>
>
> But then
>
> git rerere diff
> and
> git rerere status
>
> both show nothing, so I'm assuming it didn't manage to capture anything.
>
[cross-posted to the git list so that people will answer who use this
command a bit more than myself and to help provide the use case for
making the interface better]
I think the problem is that you want to run something like 'git checkout
M \*' or 'git read-tree M' instead of 'git reset --hard M'. ie, change
the index only and not the HEAD reference. Once this is done then 'git
commit' (this will be a dummy commit you'll throw away) or perhaps just
'git rerere' should be enough to update the rerere cache.
But perhaps someone else will have tried this before and knows how to do
it..
Sam.
parent reply other threads:[~2009-02-08 22:17 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <20090204212808.GS3558@iabyn.com>]
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=498F59A6.4000402@vilain.net \
--to=sam@vilain.net \
--cc=davem@iabyn.com \
--cc=git@vger.kernel.org \
--cc=perl5-porters@perl.org \
--cc=rgarciasuarez@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.