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

Re: Merging into sparse working copy fails

From: Mark Eichin <eichin_at_gmail.com>
Date: Wed, 18 Mar 2009 17:47:10 -0400

You want to pass --depth=infinite to the merge itself, if it's like the case
I've seen before. Couldn't say if that's actually reasonable, but it

On Mar 18, 2009 4:15 PM, "Kari Granö" <kari.grano_at_gmail.com> wrote:


I get surprising results when trying to perform merge on a sparse working
copy: the text merge is not performed at all. I'll demonstrate this with an
example against the TortoiseSVN repository:

- First, let's do a sparse checkout (using 1.6.0 RC3):

D:\Projects\test>svn --version
svn, version 1.6.0 (dev build)
  compiled Mar 15 2009, 00:13:52
[...rest omitted for brevity]

D:\Projects\test>svn checkout -r15723 --depth immediates
http://tortoisesvn.tigris.org/svn/tortoisesvn/branches/1.6.x wc
A wc\versioninfo.build
A wc\test
A wc\ext
A wc\contrib
A wc\default.build
A wc\www
A wc\doc
A wc\Languages
A wc\Release_procedure.txt
A wc\src
A wc\version.build.in
A wc\default.build.user.tmpl
A wc\build.txt
 U wc
Checked out revision 15723.

D:\Projects\test>cd wc

- Next, check out an infinite subtree "Languages":

D:\Projects\test\wc>svn checkout -r15723 --depth infinity
A Languages\Tortoise_ca_ES.po
A Languages\Tortoise_pl.po
A Languages\Tortoise_it.po
A Languages\Tortoise_sl.po
A Languages\Tortoise_da.po
[... rest omitted for brevity]
Checked out revision 15723.

- Now perform a merge from /trunk:

D:\Projects\test\wc>svn merge -c15724

- This sparse merge only results in subtree mergeinfo from /trunk:

D:\Projects\test\wc>svn stat
 M .
 M test
 M ext
 M contrib
 M www
 M doc
 M Languages
 M src

- As an example, see changes in 'ext':

D:\Projects\test\wc>svn diff ext

Property changes on: ext
Added: svn:mergeinfo
  Merged /trunk/ext:r15696,15704,15719,15721-15722,15724*
  Merged /branches/1.4.x/ext:r9134

- Now retry merge on the depth-infinite subtree "Languages":

D:\Projects\test\wc>svn revert -R .
Reverted '.'
Reverted 'test'
Reverted 'ext'
Reverted 'contrib'
Reverted 'www'
Reverted 'doc'
Reverted 'Languages'
Reverted 'src'

D:\Projects\test\wc>svn update -r15723
At revision 15723.

D:\Projects\test\wc>svn merge -c15724
http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/Languages Languages
--- Merging r15724 into 'Languages':
U Languages\Tortoise_da.po

- Now we get correct merge + subtree mergeinfo!

D:\Projects\test\wc>svn stat
 M Languages
M Languages\Tortoise_da.po

I have two questions on this:

(1) Is the inability of merge to descend to the populated subtrees of a
sparse working copy a bug, or am I misunderstanding something?

(2) It seems that merging into a sparse working copy always creates subtree
mergeinfo, which is not a good thing for reintegrate merges, and makes
reasoning about performed merges hard. What is the recommended practice
with merging and sparse checkouts? Should the merging only be done on fully
infinite working copies?

Thanks for reading,

I'm attaching a (Windows) script to reproduce the problem.


To unsubscribe from this discussion, e-mail: [


To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-03-18 22:48:20 CET

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.