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

Re: issues with merge depth

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Fri, 24 Jun 2011 19:17:33 +0200

On 23.06.2011 15:46, walter klust wrote:
> I have 2 issues regarding the merge depth options.
>
> The usecase: I create a branch, add a hierarchy of folders and files to it, merge back the branch to trunk but want only the top folders and top files commited to the trunk.
>
>
> Setup of the scenario:
>
> - create repo with trunk/ and branches/
> - checkout working copy
> - from trunk HEAD create branch branches/br1 and switch to it
> - in br1 create
> - br1/t0.txt
> - br1/d1/
> - br1/d1/t1.txt
> - br1/d1/d2/
> - br1/d1/d2/t2.txt
> - add, commit, switch back to trunk
> - Start a merge of br1 to trunk:
> -- select "Merge type: Merge a range of revisions"
> -- on the next dialogue on "Merge Options" select "Immediate children, including folders"
>
>
> First issue:
> execute a "Test Merge"
>
> The dialogue shows that the merge would add the whole newly created hierarchy.
> I would have expected only t0.txt and d1/ to be added
>

A "Test Merge" doesn't really execute the merge but does a lot of
guessing (since it must not touch the target files).
It will never be perfect.

And that's an issue for the svn library.

> Second issue:
>
> - execute the merge
>
> The dialogue shows that the merge added only t0.txt and d1/ as expected
>
> - commit
>
> The dialogue shows that t0.txt and d1/ will be committed.
>
> The trunk looks like this:
> - trunk/
> - trunk/t0.txt
> - trunk/d1/
>
> - update the trunk. Nothing will be changed
>
> - checkout a fresh working copy of the repo
>
> The fresh working copy has the whole hierarchy of the branch in the trunk:
> - trunk/
> - trunk/t0.txt
> - trunk/d1/
> - trunk/d1/t1.txt
> - trunk/d1/d2/
> - trunk/d1/d2/t2.txt
>
>
> So now we have two working copies of the same revision which have different content. A user has no way to realize that the first working copy is out of sync with the repository.
>
>
> This is an issue with svn and handling serverside commits on copies: http://subversion.tigris.org/issues/show_bug.cgi?id=3699
> The problem: a commit on a copy done serverside is always recursive regardless of the depth setting. A discussion how to fix this is onhoing.
>
> To rectify the situation the svn command line client gives the user a warning if he tries to commit on a copy if the depth is not set to infinity. Example:
>
> "svn: warning: The depth of this commit is 'immediates', but copied directories will regardless be committed with depth 'infinity'. You must remove unwanted children of those directories in a separate commit."
>
> I suggest the implementation of a similar message in TortoiseSVN to warn the user.

implemented the warning in r21610.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2774792
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-06-25 02:27:33 CEST

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.