On Thu, Jun 20, 2013 at 09:55:20PM +0100, Julian Foad wrote:
> Johan Corveleyn wrote:
>
> > On Thu, Jun 20, 2013 at 7:27 PM, C. Michael Pilato <[email protected]>
> > wrote:
> >> On 06/20/2013 12:21 PM, Julian Foad wrote:
> >>> I'll add it to the "Command-line client improvements (client)" section.
> >>>
> >>> How about this patch?
> >>
> >> +1
>
> Committed in r1495180.
>
> > Is this a command-line only change? This is only enforced by 'svn' and
> > not in the client layer?
>
> It's checked in 'svn' first, and if you call the client layer directly then
> the requirement is still there but you'll get a lower level error for it,
> something like this:
>
> subversion/svn/util.c:548,
> subversion/libsvn_client/merge.c:11822,
> subversion/libsvn_client/merge.c:12590,
> subversion/libsvn_client/merge.c:12412:
> (apr_err=SVN_ERR_CLIENT_NOT_READY_TO_MERGE)
> svn: E195016: 'https://.../subversion@1495063' must be ancestrally related to
> 'https://.../subversion/trunk@1495063'
>
> (The check in 'svn' appears to have been removed in trunk already, since
> branching 1.8.x, probably as part of efficiency improvements.)
Are you talking about r1493424? That revision is nominated for backport:
* r1493424
Remove unnecessary check for branches ancestry from
command line client. All required checks are already performed in
libsvn_client.
Justification:
There is no reason to command line and third-party use different
codepath for ancestory checks. Simple performance fix.
I voted +0 on that since I agree with the rationale that 'svn' should not
perform validations that libsvn_client does (that avoids code duplication).
Daniel