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 <cmpil...@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

Reply via email to