> From: sussman@collab.net [mailto:sussman@collab.net]
> Sent: Tuesday, February 25, 2003 7:30 PM
> Karl Fogel <kfogel@newton.ch.collab.net> writes:
>
> > Michael Price <mprice@atl.lmco.com> writes:
> > > I'm assuming that 5088 is the last revision to include.
> > >
> > > However, after getting started I ran into a potential buglet.
> > >
> > > If you svn switch to the release branch and attempt to merge -r
> > > 5007:5008 from trunk then you get conflicts. If you then use gnu diff on
> > > left and right and patch working then it proceeds just fine.
> >
> > So 'svn merge' is declaring a conflict where no conflict exists?
>
> Yeah, I just reproduced this. r5008 changes the line endings of a
> single file; when you merge 5007:5008 into the branch working copy, it
> declares the file Conflicted. This may simply be an edge-case that
> Sander's difflib can't handle yet. Not a huge deal.
>
> Sander, want to investigate?
Ok, I reproduced it after sussman helped me jump through the correct
hoops ;)
Now, here we go:
$ ~/src/svn/subversion/tests/libsvn_delta/diff3-test build_neon.bat.working \
build_neon.bat.merge-left.r5007 \
build_neon.bat.merge-right.r5008 | \
grep '<<<'
[no output]
WTF? No conflicts. Upon investigation of subversion/libsvn_wc/merge.c I
saw that we are trying to merge 3 conflicting files and then we leave 3 non conflicting
files in the wc. The reason the 3 files we try to merge conflict is because we
aren't doing eol translation prior to running merge (is my guess). We are doing
that _after_ we see the conflict. My take is that we need to do it before (but not
the keyword expansion).
Thoughts? Better insights?
Sander
PS. Sorry for the short summary, gotta run.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Feb 25 20:29:42 2003