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

Re: svn commit: r1326696 - in /subversion/trunk/subversion/libsvn_client: add.c client.h commit.c copy.c delete.c prop_commands.c util.c

From: Thomas Åkesson <thomas_at_akesson.cc>
Date: Tue, 17 Apr 2012 05:02:13 +0200

On 17 apr 2012, at 02:26, Hyrum K Wright <hyrum.wright_at_wandisco.com> wrote:
> On Mon, Apr 16, 2012 at 5:22 PM, Greg Stein <gstein_at_gmail.com> wrote:
>> On Mon, Apr 16, 2012 at 18:04, Stefan Sperling <stsp_at_elego.de> wrote:
>>>
>>> At the very least, you must compare the URL of the node at the calculated
>>> local_abspath to the original node_url. If they do not match, the
>>> node at local_abspath is switched, so the node you're looking for is not
>>> in the WC at the expected location.
>>>
>>> The node could be somewhere else, though, at a different path which
>>> is switched to the original URL you're looking for. Maybe you'll need
>>> to add a new libsvn_wc API that tries a bit harder to figure out where
>>> the node could be?
>
> I think this may be the answer: a API which takes a wc_ctx, a
> repos_root, and a repos_relpath. With that information, we should be
> able to resolve a node location (and hence its pristine) without much
> difficulty.
>
>> Well... I think the real problem could be that you *already* knew
>> where it was. The user may have said "svn foo file.c", where file.c is
>> in a switched subdir. Then it gets switch to repos_relpath, and then
>> we lose the wc location.
>
> We could pass such information along in the baton, but the problem is
> sometime this information changes between the time we construct the
> baton and the time we use it, as in the case of committing from
> disjunct working copies.
>
>> This is why I was tentative with unequivocally stating Ev2 should use
>> repos_relpath. Bert mentioned a couple scenarios where it could
>> falter, too. And then I had a couple other concerns around paths in
>> the copy/move/rotate APIs.

> I probably need to go back and review that discussion. From my early
> work on the ev2-export branch, repos_relpaths vastly simplified the
> problem space by giving nodes canonical names, both inside the editor
> and in the driver / receivers.

I did some work on this list and on the wiki trying to outline an approach to resolve the Unicode normalisation issues that Subversion experiences on OS X. I second that repos_relpath is the preferred canonical name of nodes and local_*path should be avoided, if the approach I outlined is of interest.

I think it would be of value to both Ev2 and the Unicode discussion if you could review the wiki article. It would be unfortunate to bring forward (into Ev2) any assumptions about paths that can never be safe on a normalising file system.

http://wiki.apache.org/subversion/NonNormalizingUnicodeCompositionAwareness

Thanks!
Received on 2012-04-17 05:02:56 CEST

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.