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

RE: SVN Merge Tracking Issues

From: <Michael.Rumpf_at_t-systems.com>
Date: Mon, 31 Oct 2011 18:09:06 +0100

Hi,

I probably have an issue with the TortoiseSVN client (1.6.17). I first thought that it is a SVN issue in general so I was asking on the subversion mailing list.
There I got an answer with describing my case in a few "simple" steps:

>Suppose we start off with the following structure:
>
>revision 2 ("r2"):
> /branch (copy of trunk_at_r1)
> /trunk
>
>We now make an edit in /trunk in r3:
>
> $ svn co http://svn.example.com/repos/trunk
> $ cd trunk
> $ echo foo >> somefile
> $ svn ci -m "edit somefile"
>
>and merge this edit to /branch in r4.
>
> $ cd branch-working-copy
> $ svn co http://svn.example.com/repos/branch
> $ cd branch
> $ svn merge ^/trunk
>
>Now someone clever comes a long and renames ^/trunk to ^/master in r5:
>
> $ cd trunk
> $ svn mv ^/trunk ^/master -m "rename trunk to master"
> $ svn switch ^/master # update trunk working copy to the new
>location
>
>In r6, we make another edit on the trunk (now 'master'):
>
> $ cd trunk
> $ echo foo >> somefile
> $ svn ci -m "edit somefile"
>
>In the branch working copy, asking for unmerged revisions from
>^/trunk_at_HEAD fails because ^/trunk doesn't appear in the HEAD
>revision anymore:
>
> $ cd branch
> $ svn mergeinfo --show-revs eligible ^/trunk
> svn: E160013: File not found: revision 6, path '/trunk'
>
>Note that the mergeinfo command still works if we specify a peg-revision
>in the URL to tell Subversion to look for the path /trunk at revision 4
>instead of in the HEAD revision (the default peg-revision is HEAD where
>/trunk does not exist anymore):
>
> $ svn mergeinfo --show-revs merged ^/trunk_at_4
> r3
>
>Likewise, if the new name is used, the eligible revisions appear:
>
> $ svn mergeinfo --show-revs eligible ^/master
> r6
>
>And we can also merge from the new name:
>
> $ svn merge ^/master
> --- Recording mergeinfo for merge of r4 into '.':
> U .
> --- Merging r5 through r6 into '.':
> U alpha
> --- Recording mergeinfo for merge of r5 through r6 into '.':
> G .
> $ svn propget -v svn:mergeinfo .
> Properties on '.':
> svn:mergeinfo
> /master:5-6
> /trunk:2-4
>
>This seems to be exactly the issue we are facing. The developers are
>using TortoiseSVN and not the command-line, so I need to map the
>commands to the UI client:
>
>1. Open the Merge Editor
>2. Open the browser window "URL to merge from: -> ..."
>You need to enter a URL, otherwise the "..." will not open any window.
>If you enter the old ^/trunk it switches back to the current root, as
>the window opens with "HEAD" revision.
>3. Go back to the revision before the rename/move operation happened: 4
>in your example above (69398 in my case)
>4. Select the Branch URL for the old location from which you want to
>merge
>5. Click OK
>6. Click on Show Log for the "Revisions range to merge"
>No eligible revisions are shown in the list, instead it says
>'/svn/REPO/!svn/bc/5/trunk' path not found (69402 in my case)
>
>For this test I turned back my local working copy to the revision before
>the svn:mergeinfo change (rev 69508). I currently do not have the chance
>to get the server repository back to the hotcopy version as no admin is
>available until wednesday because there is a public holiday tomorrow in
>Germany ;)

So, my question is how can I perform the merge operations, described above, by using the TortoiseSVn client?

Regards,
     Michael

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2869465

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-10-31 18:28:44 CET

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

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