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

issues with merge depth

From: walter klust <wklust_at_elego.de>
Date: Thu, 23 Jun 2011 06:46:17 -0700 (PDT)

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

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.

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

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-06-23 16:51:51 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.