I did not get any responses on this bug report, neither confirming nor denying. So I guess the next step is to file an issue?
-Steve > -----Original Message----- > From: Varnau, Steve (Seaquest R&D) > Sent: Monday, March 26, 2012 10:26 AM > To: users@subversion.apache.org > Cc: Brackett, Faye > Subject: Merge bug -- svn:keywords and conflict resolution > > Hello, > > We had some developers changing svn:keywords property, which caused > merge conflicts for other people pulling in the changes via sync merges. > The developers merging the change into their branch were surprised to > get merge conflicts in files they had not changed. > > I figured out that svn merge was actually correct in flagging a > conflict, but does not present the conflicting lines correctly. The > presentation is not correct, since what is shown in the merged file as > the right side of the merge does not match the file.merge-right.rREV > file. > > We noticed the behavior in 1.7.3 command-line client on Linux, then > reproduced it in 1.7.4 command-line on Windows. I could not find a > relevant bug in the issues list. > > I admit that the scenario to get to the incorrect behavior is not > something one would normally do intentionally. It involves removing a > keyword from the svn:keywords property, while leaving the expanded > keyword in the contents of the file. > > Shell script to reproduce is below. > > -Steve > > REPO=file:///work/repo > svn co $REPO/trunk trunk > cd trunk > echo '$Date$ $Revision$' > keyfile > svn add keyfile > svn propset svn:keywords 'Date Revision' keyfile > svn ci -m 'initial keyfile' > svn up > cat keyfile # expanded keywords > > cd .. > svn cp -m "side branch" $REPO/trunk $REPO/branches/br1 > svn co $REPO/branches/br1 br1 > > cd trunk > echo " some changes" >> keyfile > svn ci -m "new content" > > cd ../br1 > svn merge ^/trunk > svn ci -m "sync merge" > svn up > > cd ../trunk > svn propset svn:keywords 'Id' keyfile # whoops, inadvertently replaced Date > and Revision > echo '$Id$' >> keyfile > svn ci -m "chg for Id keyword" > > cd ../br1 > svn merge --accept postpone ^/trunk > # second sync merge flags a conflict > # since the Date and Revision keywords are being removed from svn:keywords > # Should the file content show the line from trunk (r6) or from branch (r5) > > ### Here's the bug -- why do both sides of conflict show same content? > cat keyfile > <<<<<<< .working > $Date: 2012-03-26 10:09:19 -0700 (Mon, 26 Mar 2012) $ $Revision: 5 $ > ======= > $Date: 2012-03-26 10:09:19 -0700 (Mon, 26 Mar 2012) $ $Revision: 5 $ > >>>>>>> .merge-right.r6 > some changes > $Id$ > > ### If we look at merge files, we see a different story > cat keyfile.working > $Date: 2012-03-26 10:09:19 -0700 (Mon, 26 Mar 2012) $ $Revision: 5 $ > some changes > > > cat keyfile.merge-left.r4 > $Date$ $Revision$ > some changes > > > cat keyfile.merge-right.r6 > $Date: 2012-03-26 10:09:18 -0700 (Mon, 26 Mar 2012) $ $Revision: 4 $ > some changes > $Id: keyfile 5 2012-03-26 17:09:19Z svarnau $