Re: [PATCH] Use git-update-ref in scripts.
- From
Junio C Hamano <junkio@cox.net>
- Date
- Sep 28, 2005, 18:17 UTC
- Message-ID
- <7vk6h1rr9l.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.58.0509281007200.3308@g5.osdl.org>
Linus Torvalds <torvalds@osdl.org> writes:
> On Wed, 28 Sep 2005, Junio C Hamano wrote: >> > I don't like doing the diff before-hand, but it looked like the default > was to try just one strategy, and avoid the diff in that case.
By 'diff before-hand' I take it to mean the savestate for later rounds to keep the pre-merge state. You are correct that it is not done in a single strategy case, and 'git pull' by default would use only one of Daniel's git-merge-resolve or in the multi-remote case git-merge-octopus, depending on the number of heads being merged. BTW, I decided not to use diff, just in case somebody has binary blob we cannot reproduce with diff and patch.
Show 8 quoted lines
> Actually, my preference would be to have a unconditional simple case > first. If there's only one possible base, and the trivial merge succeeds > (ie no three-way merges needed at all, just a single git-read-tree), do > that part unconditionally. > > That actually matches 90% of all merges I do, and I'd be much happier with > git-merge if it did that first and if it then does something more complex > (including diffs etc) afterwards, I'm much less likely to worry.
Hmph. That sort of makes sense but to make the unconditional simple case really fast it should use read-tree -m -u which _would_ smudge if things do not go well, which implies you need savestate before that which would make it slower -- wouldn't it?
I think using Daniel's git-merge-resolve and nothing else by default would be equivalent of having that unconditional simple case upfront.