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
works...
On Mar 18, 2009 4:15 PM, "Kari Granö" <kari.grano_at_gmail.com> wrote:
Hi,
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
http://tortoisesvn.tigris.org/svn/tortoisesvn/branches/1.6.x/Languages
Languages
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
http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk
- 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
/branches/LogCacheEnhancement/ext:r9629-9630,9653,9691-9692,9860,9864,9867,9
869-9872,9876-9880,10561-10564,10601-10706,10821-10866,10871-10887,11153,111
55,11234-11241,11243,11246,11248-11252
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,
Kari
I'm attaching a (Windows) script to reproduce the problem.
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1350524
To unsubscribe from this discussion, e-mail: [
users-unsubscribe_at_subversion.tigris.org].
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1350952
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-03-18 22:48:20 CET