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

RE: svn commit: r1431114 - /subversion/trunk/subversion/svn/merge-cmd.c

From: Bert Huijben <bert_at_qqmail.nl>
Date: Thu, 10 Jan 2013 20:38:28 +0100

> -----Original Message-----
> From: Paul Burba [mailto:ptburba_at_gmail.com]
> Sent: donderdag 10 januari 2013 20:26
> To: Bert Huijben
> Cc: dev_at_subversion.apache.org
> Subject: Re: svn commit: r1431114 -
> /subversion/trunk/subversion/svn/merge-cmd.c
>
> On Thu, Jan 10, 2013 at 2:15 PM, Bert Huijben <bert_at_qqmail.nl> wrote:
> >
> >> -----Original Message-----
> >> From: Paul Burba [mailto:ptburba_at_gmail.com]
> >> Sent: donderdag 10 januari 2013 19:59
> >> To: Bert Huijben
> >> Cc: dev_at_subversion.apache.org
> >> Subject: Re: svn commit: r1431114 -
> >> /subversion/trunk/subversion/svn/merge-cmd.c
> >>
> >> On Thu, Jan 10, 2013 at 12:38 PM, Bert Huijben <bert_at_qqmail.nl> wrote:
> >> >
> >> >
> >> >> -----Original Message-----
> >> >> From: pburba_at_apache.org [mailto:pburba_at_apache.org]
> >> >> Sent: woensdag 9 januari 2013 23:04
> >> >> To: commits_at_subversion.apache.org
> >> >> Subject: svn commit: r1431114 -
> >> /subversion/trunk/subversion/svn/merge-
> >> >> cmd.c
> >> >>
> >> >> Author: pburba
> >> >> Date: Wed Jan 9 22:04:24 2013
> >> >> New Revision: 1431114
> >> >>
> >> >> URL: http://svn.apache.org/viewvc?rev=1431114&view=rev
> >> >> Log:
> >> >> Fix issue #4139 'Subversion cannot perform merge if there's a file with
> >> >> the same name as directory'.
> >> >>
> >> >> * subversion/svn/merge-cmd.c
> >> >> (svn_cl__merge): If the basename of the source is the same as the
> >> >> basename of the current working directory, then assume the cwd is
> the
> >> >> target.
> >> >
> >> > I never heard of and/or noticed this behavior
> >>
> >> Hi Bert,
> >>
> >> Which behavior are you referring to: The old behavior, the bug with
> >> the old behavior, or the new behavior?
> >>
> >> The old behavior was this:
> >>
> >> 'svn merge ^/src/base-name .' and 'svn merge ^src/base-name' both
> used
> >> the cwd at the merge target *unless* there is a file in the cwd with
> >> the same name as the source basename. In that case the file was the
> >> merge target.
> >
> > The question I asked was, shouldn't we make that first case think the "." is
> an explicit target?
> >
> > "I tell svn where to merge to and I would have guessed that it just did what
> I asked."
>
> Ok, seems you are saying what I said before:
>
> > Merge target: "." --> No guessing, the target is *always* the cwd.
> >
> > Merge target: "" --> Target guessing heuristics apply.
>
> I'm good with that. If nobody objects I can make that change.
>
> > That we want to be smart for the second case is a different question, but
> my preference would be that this explicit '.' case would be handled as the
> plain api.
>
> Mildly puzzled: Which API do you mean? Everything we are talking
> about is in svn_cl__merge(), prior to calling any public APIs. I
> think I know what you mean...but I'm not entirely sure :-)

Answering your puzzle:

I always ask the SharpSvn users to try and reproduce what they try to do with 'svn'.
In almost every case 'svn' just wraps 'svn_client.h' with only some minor changes and so does SharpSvn.

In this case it appears to do more than a bit of wrapping (since somewhere in 2003), and I don't think what it does is obvious to the user either.

But I can certainly see that this guessing of a target would be useful.

        Bert
Received on 2013-01-10 20:39:05 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.