From: Johan Herland <johan@herland.net>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: git@vger.kernel.org, gitster@pobox.com
Subject: Re: 'git notes merge' implementation questions
Date: Thu, 22 Apr 2010 01:55:12 +0200 [thread overview]
Message-ID: <201004220155.12747.johan@herland.net> (raw)
In-Reply-To: <20100421171227.GA23794@progeny.tock>
On Wednesday 21 April 2010, Jonathan Nieder wrote:
> Johan Herland wrote:
> > 2. Merging without a worktree
>
> Eh, I am not a fan. I am thinking it might be better to use something
> like contrib/workdir to make a temporary worktree with its own index
> and HEAD in .git/tmp-merge-notes and let the conflict resolvers work
> there.
>
> Advantages:
>
> - easy to debug when something goes wrong
> - merge driver can take other unmerged entries into account
> - (if merging manually) the user is not at the mercy of the program.
> Instead of being forced to consider the conflicts in the order git
> wants, she can skip some and go back to them, look at how many
> there are before deciding to start work, resolve some, reboot to
> test a new kernel, resolve some more later, and visualize the
> result.
> - if the unmerged notes are very long, you might need a temporary
> file anyway
> - maybe some day a kind of rename detection could help cope with
> situations like propagation of notes after a rebase
>
> Disadvantages:
>
> - setting up a new git dir takes some time
> - a checkout with all notes would be insanely huge. So somehow one
> has to find an appropriate subset to check out.
>
> > Possible solution: Conflict resolvers:
> I think you can do an entirely in-index merge with ‘git read-tree’ and
> ‘git merge-index’. If you forbid the per-file merge driver to fail
> then this sounds like exactly what you’re talking about.
>
> In my opinion in the case of popping up an editor this is a cruel
> thing to do, but in the other cases it’s a good place to start.
Thanks, I'm definitely coming around to the idea that having the user freely
resolve conflicts in a temporary worktree (that preferably contains only the
conflicting notes) is better than trying to resolve conflicts _without_ a
worktree.
...Johan
--
Johan Herland, <johan@herland.net>
www.herland.net
next prev parent reply other threads:[~2010-04-21 23:55 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-21 7:57 'git notes merge' implementation questions Johan Herland
2010-04-21 17:12 ` Jonathan Nieder
2010-04-21 23:55 ` Johan Herland [this message]
2010-04-22 0:26 ` Jonathan Nieder
2010-04-21 21:29 ` Junio C Hamano
2010-04-22 0:08 ` Johan Herland
2010-04-22 0:12 ` Junio C Hamano
2010-04-22 8:34 ` Johan Herland
2010-04-22 0:19 ` Junio C Hamano
2010-04-22 8:38 ` Johan Herland
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=201004220155.12747.johan@herland.net \
--to=johan@herland.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@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 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).