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 $

Reply via email to