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

Re: New feature clarification (commit with externals)

From: Mark Phippard <markphip_at_gmail.com>
Date: Mon, 17 Jun 2013 15:03:27 -0400

On Mon, Jun 17, 2013 at 2:59 PM, C. Michael Pilato <cmpilato_at_collab.net> wrote:
> On 06/17/2013 02:35 PM, Mark Phippard wrote:
>> On Mon, Jun 17, 2013 at 2:28 PM, C. Michael Pilato <cmpilato_at_collab.net> wrote:
>>> My testing seems to show that we do not appear to commit externals pulled
>>> from a different repository than the primary working copy. Can someone
>>> confirm this? Is there a technical reason not to do this? Obviously we
>>> can't do a multi-repository atomic commit, but I could have sworn that at
>>> one time this feature would sort the committables by repository, then issue
>>> one commit per repository (with the opportunity to compose a log message for
>>> each commit grouping). Maybe I'm just delusional?
>>
>> We use the feature you describe in Subclipse via JavaHL (talking about
>> SVN 1.7.x). It works provided that you name all the targets on the
>> commit API call, which we do from Subclipse.
>>
>> We are not planning to use this new --include-external feature since
>> it mainly seems to imply to the implicit traversal done when only a
>> top-level target(s) is named.
>>
>> Hopefully explicitly naming targets still works, but yes it sounds
>> like this feature ought to support it too.
>
> Right, it appears that this feature really just boils down to Subversion
> adding more targets to the commit command-line on your behalf (though, in
> the client API rather than in the 'svn' binary itself). I guess I was just
> confused because if I manually attempt to commit from two working copies of
> different repositories, I get an error that says Subversion can't do that.
> But I effectively do the same via the 'svn commit --include-externals'
> feature, Subversion silently fails to commit stuff from outside the main
> repository:

Hmm, this reply made me remember better what we do in Subclipse.

1) Single WC with externals for same repos

This has pretty much always worked fine when calling the API provided
you tell it all the items to commit.

2) Multiple WC for same repos with or without externals

This was the new in 1.7 feature I was thinking of. SVN now allows us
to commit both together in one transaction even if the WC's do not
share a parent.

3) Any commit that needed to target more than one repos

Whether it involved externals or two or more WC's. This never worked
from the API. In Subclipse, we internally group the commit by the
repos UUID and then call the commit API once for each repos.

--
Thanks
Mark Phippard
http://markphip.blogspot.com/
Received on 2013-06-17 21:03:59 CEST

This is an archived mail posted to the Subversion Dev mailing list.