From: Matt McCutchen Date: Mon, 20 Oct 2008 03:42:00 GMT Subject: Re: Is XDL_MERGE_ZEALOUS too zealous (or maybe not zealous enough)? Message-ID: <1224474120.19785.3.camel@mattlaptop2.local> In-Reply-To: <7v3ais5hb3.fsf_-_@gitster.siamese.dyndns.org> On Sun, 2008-10-19 at 15:52 -0700, Junio C Hamano wrote: > However, the usual simplified merge shows this (run "git checkout --merge > builtin-checkout.c" if you have done the above): > > <<<<<<< ours > /* --track without -b should DWIM */ > if (0 < opts.track && !opts.new_branch) { > const char *argv0 = argv[0]; > ... > opts.new_branch = argv0 + 1; > } > > if (opts.track == BRANCH_TRACK_UNSPECIFIED) > opts.track = git_branch_track; > ======= > if (conflict_style) { > opts.merge = 1; /* implied */ > git_xmerge_config("merge.conflictstyle", conflict_style, NULL); > } > > if (!opts.new_branch && (opts.track != git_branch_track)) > die("git checkout: --track and --no-track require -b"); > >>>>>>> theirs > > Removing the two lines from the simplified "theirs" is not what I would > suggest (it would be actively wrong), but I wonder if we can do something > clever to help users with a merge like this. IMHO, the solution is just to use diff3 style. I never understood how I was supposed to intuit the correct result of a merge from the two sides without seeing the common ancestor, so I am glad to have the diff3 style working now. Matt