You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jeff Yemin <je...@gmail.com> on 2008/10/21 14:30:35 UTC
question about interaction between merge and sparse working copies
I'm doing some testing of the interaction between sparse working copies and
svn merge, and the results seem like a bug, but I wanted to check on the
list first.
I have a rather large project whose structure would benefit greatly from a
sparse working copy. I branched the trunk of this project, and created a
sparse working copy of the branch. Next, I made a change on the trunk to a
file that is part of the sparse working copy. I then ran the mergeinfo
command on the working copy of the branch, and it detected that this change
could be applied to the working copy:
$ svn mergeinfo https://myserver.com/modules/mymodule/trunk --show-revs
eligible
r34079
Next I did a dry run of the merge, but there was no output. I found this
peculiar so I did the merge for real and ran svn diff to see if it actually
did anything, and I got output like this:
$ svn merge -c 34079 https://myserver.com/modules/mymodule/trunk
$ svn diff
Property changes on: .
___________________________________________________________________
Added: svn:mergeinfo
Merged /modules/mymodule/trunk:r34079*
Property changes on: src
___________________________________________________________________
Added: svn:mergeinfo
Merged /modules/mymodule/trunk/src:r34079*
[...]
Property changes on: src/sites
___________________________________________________________________
Modified: svn:mergeinfo
Reverse-merged /modules/mymodule/trunk/src/sites:r34034
Merged /modules/mymodule/trunk/src/sites:r34079
The file that was actually changed in revision 34079 shows no differences.
The svn copy that created the branch was done in revision 34049, so the
reverse merge of revision 34034 is strange.
When I run the same operations on a non-sparse working copy, the merge works
as expected:
$ svn merge -c 34079 https://myserver.com/modules/mymodule/trunk
--- Merging r34079 into '.':
U src/sites/test.com/main/config/stage/dev/Initial.properties
$ svn diff
Property changes on: .
___________________________________________________________________
Added: svn:mergeinfo
Merged /modules/mymodule/trunk:r34079
Index: src/sites/test.com/main/config/stage/dev/Initial.properties
===================================================================
--- src/sites/test.com/main/config/stage/dev/Initial.properties (revision
34079)
+++ src/sites/test.com/main/config/stage/dev/Initial.properties (working
copy)
@@ -1 +1,2 @@
-# test file
+# test file
+# first change
Any help would be appreciated.
Thanks,
Jeff
--
View this message in context: http://www.nabble.com/question-about-interaction-between-merge-and-sparse-working-copies-tp20091531p20091531.html
Sent from the Subversion Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: question about interaction between merge and sparse working copies
Posted by Mark Eichin <ei...@gmail.com>.
Ran into this too, recently - the key "mental model" change is that
--depth sticks to the individual directory, and that merge obeys it.
(This is probably a defect in merge though, since I've seen a number
of people stumble across it - merge isn't *like* update, if you've
built a structure with specific updates within a --depth=empty tree,
it seems reasonable to expect merge to follow them... since the
directory isn't *really "empty", it's
"empty-plus-these-specific-choices".)
(We also just added --depth=infinite to our cherry-pick merge wrapper
script, and most engineers use that instead of direct svn commands
anyway.)
On Tue, Oct 21, 2008 at 10:51 AM, Mark Phippard <ma...@gmail.com> wrote:
> On Tue, Oct 21, 2008 at 10:30 AM, Jeff Yemin <je...@gmail.com> wrote:
>>
>> I'm doing some testing of the interaction between sparse working copies and
>> svn merge, and the results seem like a bug, but I wanted to check on the
>> list first.
>>
>> I have a rather large project whose structure would benefit greatly from a
>> sparse working copy. I branched the trunk of this project, and created a
>> sparse working copy of the branch. Next, I made a change on the trunk to a
>> file that is part of the sparse working copy. I then ran the mergeinfo
>> command on the working copy of the branch, and it detected that this change
>> could be applied to the working copy:
>>
>> $ svn mergeinfo https://myserver.com/modules/mymodule/trunk --show-revs
>> eligible
>> r34079
>>
>> Next I did a dry run of the merge, but there was no output. I found this
>> peculiar so I did the merge for real and ran svn diff to see if it actually
>> did anything, and I got output like this:
>>
>> $ svn merge -c 34079 https://myserver.com/modules/mymodule/trunk
>
> Try adding --depth=infinite to the merge command. I believe in your
> example it would use the same depth as the current folder.
>
> --
> Thanks
>
> Mark Phippard
> http://markphip.blogspot.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
--
_Mark_ <ei...@thok.org> <ei...@gmail.com>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: question about interaction between merge and sparse working copies
Posted by Mark Phippard <ma...@gmail.com>.
On Tue, Oct 21, 2008 at 10:30 AM, Jeff Yemin <je...@gmail.com> wrote:
>
> I'm doing some testing of the interaction between sparse working copies and
> svn merge, and the results seem like a bug, but I wanted to check on the
> list first.
>
> I have a rather large project whose structure would benefit greatly from a
> sparse working copy. I branched the trunk of this project, and created a
> sparse working copy of the branch. Next, I made a change on the trunk to a
> file that is part of the sparse working copy. I then ran the mergeinfo
> command on the working copy of the branch, and it detected that this change
> could be applied to the working copy:
>
> $ svn mergeinfo https://myserver.com/modules/mymodule/trunk --show-revs
> eligible
> r34079
>
> Next I did a dry run of the merge, but there was no output. I found this
> peculiar so I did the merge for real and ran svn diff to see if it actually
> did anything, and I got output like this:
>
> $ svn merge -c 34079 https://myserver.com/modules/mymodule/trunk
Try adding --depth=infinite to the merge command. I believe in your
example it would use the same depth as the current folder.
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org