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

Re: merge with tree conflict

From: Vadym Chepkov <chepkov_at_yahoo.com>
Date: Wed, 30 Sep 2009 06:27:39 -0700 (PDT)

>
> Not just waste of space. Make sure to read:
> http://www.smashingmagazine.com/2009/09/25/svn-strikes-back-a-serious-vulnerability-found/
> (I don't think they should have used the word
> "vulnerability" in their
> title -- they used it to create hype.)
>
> My recommendation is to use 'svn export' and a tool like
> rsync instead.

I have this in my configuration, so I think I am fine.

<DirectoryMatch "/\.svn/">
    AllowOverride None
    Options None
    Order deny,allow
    Deny from all
</DirectoryMatch>

svn export would override local changes, but I hope we won't start a holy war flame about it :)

> Can you be more specific, please?
> What merge command did you run? What mergeinfo on which
> path did
> change in what way and what did you expect to see instead?
> Output of 'svn diff' and 'svn status' would help. You can
> change
> URLs and path names if you like, but keep any other
> information.

let me just reproduce a test case for you

$ svnadmin create testrepo
$ svn co file:///$HOME/testrepo test
Checked out revision 0.
$ cd test
$ svn mkdir --parents vendor/current trunk
A /home/vvc/test/vendor
A /home/vvc/test/vendor/current
A /home/vvc/test/trunk
$ date > /home/vvc/test/vendor/current/DATE
$ svn add /home/vvc/test/vendor/current/DATE
A /home/vvc/test/vendor/current/DATE
$ svn commit -m "Initial drop"
Adding trunk
Adding vendor
Adding vendor/current
Adding vendor/current/DATE
Transmitting file data .
Committed revision 1.
$ svn copy ^/vendor/current ^/vendor/1.0 -m "tag with revision 1.0"

Committed revision 2.
$ svn copy ^/vendor/1.0 ^/trunk/product -m "include vendor product in main branch"

Committed revision 3.
$ svn up
A trunk/product
A trunk/product/DATE
A vendor/1.0
A vendor/1.0/DATE
Updated to revision 3.

$ date >> /home/vvc/test/vendor/current/DATE
$ svn commit -m "Importing version 2 "
Sending vendor/current/DATE
Transmitting file data .
Committed revision 4.
$ svn copy ^/vendor/current ^/vendor/2.0 -m "tag with revision 2.0"

Committed revision 5.
$ cd trunk/product
$ svn merge ^/vendor/1.0 ^/vendor/current .
--- Merging differences between repository URLs into '.':
U DATE
$ svn commit -m "upgraded to version 2.0"
Sending product
Sending product/DATE
Transmitting file data .
Committed revision 6.
$ svn pg svn:mergeinfo .
/vendor/current:2-5

$ cd ..
$ date > MAIN
$ svn add MAIN
A MAIN
$ svn commit -m "Changes in main branch"
Adding trunk/MAIN
Transmitting file data .
Committed revision 7.

finally we got to the point. now lets go to product directory again and apply the same exactly merge we did with revision 6

$ svn merge ^/vendor/1.0 ^/vendor/current .
$ svn diff

Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /vendor/current:r6-7

As you can see, svn:merginfo was updated yet again, even though nothing was changed under /vendor/ in revisions 6 and 7

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2402074

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-09-30 15:30:12 CEST

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

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