subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Ã…kesson <tho...@akesson.cc>
Subject 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
Date Tue, 17 Apr 2012 03:02:13 GMT
On 17 apr 2012, at 02:26, Hyrum K Wright <hyrum.wright@wandisco.com> wrote:
> On Mon, Apr 16, 2012 at 5:22 PM, Greg Stein <gstein@gmail.com> wrote:
>> On Mon, Apr 16, 2012 at 18:04, Stefan Sperling <stsp@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!
Mime
View raw message