[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[Fwd: help with svn 1.5 -> merge with properties]

From: Alfred Perlstein <alfred_at_juniper.net>
Date: Wed, 25 Jun 2008 11:09:00 -0700

Did you guys get this? I'm really confused about this bug, can we fix
it or can you tell me how to workaround? (maybe I'm doing something
stupid?)

thanks,
-Alfred

attached mail follows:


Hey Nathan, I just sent this message to the dev list about 1.5.

Can you help me with it?

Hey guys,

 

When using merging with properties I get conflicts

even when the merge should succeed without issue.

 

It's easy enough to reproduce with the script attached.

 

Note: please change:

  SVNROOT="svn+ssh://spigot/svn"

  TESTPROJ="scratch"

in the script to point at your repo.

 

What I would like is:

1) non-meta-data should just merge without issue

2) option to specify to always "take" a property from

    either the TO or FROM branch as a seperate option.

Please see attached script, I could really use some help here!

thanks,
-Alfred

#!/bin/sh

 # Show how "props" set on files causes merge conflicts where there should
 # be none.
 # Alfred Perlstein, Juniper Networks 2008

 # CHANGE THESE TO YOUR SVNROOT AND "TEST PROJECT"
 SVNROOT="svn+ssh://spigot/svn"
 TESTPROJ="scratch"
 # Make my project top level and the "trunk"
 svn mkdir --parents -m "mkdir testproj" ${SVNROOT}/${TESTPROJ}/trunk
 # Make space for branches.
 svn mkdir --parents -m "mkdir testproj" ${SVNROOT}/${TESTPROJ}/branches
 # Checkout trunk, add a file "bar.c" to it, commit it
 # set "mtime" property and commit.
 svn co ${SVNROOT}/${TESTPROJ}/trunk
 cd trunk
 echo foo >> bar.c
 svn add bar.c
 svn commit -m "add bar in trunk"
 svn propset mtime 1 bar.c
 svn commit -m "add mtime prop" bar.c
 # make a branch.
 svn cp -m "branch it" ${SVNROOT}/${TESTPROJ}/trunk ${SVNROOT}/${TESTPROJ}/branches/testbranch
 # check out my branch, don't do anything yet...
 cd ../
 svn co ${SVNROOT}/${TESTPROJ}/branches/testbranch
 # go back into trunk. modify the file, adding some data and modify the
 # mtime meta data.
 cd trunk
 echo barrrrrr >> bar.c
 svn propset mtime 2 bar.c
 svn commit -m "second change with mtime=2" bar.c
 # go back to my "testbranch" and try to merge.
 # this will show conflicts in both metadata and data!
 cd ../testbranch
 svn merge ${SVNROOT}/${TESTPROJ}/trunk
#Conflict for property 'mtime' discovered on 'bar.c'.
#Select: (p) postpone, (mf) mine-full, (tf) theirs-full,
# (h) help for more options: tf
#Conflict discovered in 'bar.c'.
#Select: (p) postpone, (df) diff-full, (e) edit,
# (h) help for more options: df
#--- .svn/tmp/tempfile.tmp Mon Jun 23 19:16:29 2008
#+++ .svn/tmp/tempfile.3.tmp Mon Jun 23 19:17:34 2008
#@@ -0,0 +1,7 @@
#+<<<<<<< .working
#+foo
#+||||||| .merge-left.r0
#+=======
#"svn-merge-madness-done.txt" 73L, 2514C written

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-06-25 23:44:05 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.