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 <cmpilato_at_collab.net>
> > 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
Received on 2013-06-20 22:59:59 CEST