Re: Using --diff-cmd=/usr/bin/diff3 says merGed but is Conflict
"Max Bowsher" <[email protected]> Sun, 16 Oct 2005 15:31:00 +0100
| Newsgroups | gmane.comp.version-control.subversion.devel,gmane.mail.eyebrowse.user |
|---|---|
| Message-ID | <095801c5d25e$3b950d70$5304a8c0@chimaera> |
Philip Martin wrote: > Erik Huelsmann <[email protected]> writes: > >>> Subversion makes two runs to libsvn_wc/merge.c's svn_wc_merge() during >>> the update. During the first, dry_run is 1, during the >>> second, it is 0. My problem is that during the dry run >>> Subversion uses its internal diff3 (which is producing the >>> merGe'd state) and during the second phase it's using the >>> external diff3 utility which is telling me this is a Conflict. > > Yup, that's a bug. > > --- subversion/libsvn_wc/update_editor.c (revision 16751) > +++ subversion/libsvn_wc/update_editor.c (working copy) > @@ -2203,7 +2203,7 @@ > svn_path_join (base, base_name, > pool), > adm_access, > oldrev_str, newrev_str, ".mine", > - TRUE, &merge_outcome, NULL, > + TRUE, &merge_outcome, diff3_cmd, > pool)); > > } /* end: working file exists and has mods */ Nope, it's an intentional and rather nasty hack. The intention is to prevent interactive diff3 programs from delaying the update long enough to cause the server to time out and close the connection. A proper, but unfortunately far more invasive, fix needs to be sought. Max.