Daniel Shahaf <d.s_at_daniel.shahaf.name> writes:
>> > --- trunk/subversion/libsvn_wc/copy.c (r33200)
>> > +++ trunk/subversion/libsvn_wc/copy.c (r33201)
>> > @@ -353,9 +360,25 @@ get_copyfrom_url_rev_via_parent(const ch
>> > }
>> > else
>> > {
>> > + const char *last_parent_path = parent_path;
>> > +
>> > rest = svn_path_join(svn_path_basename(parent_path, pool),
>> > rest, pool);
>> > parent_path = svn_path_dirname(parent_path, pool);
>> > +
>> > + if (strcmp(parent_path, last_parent_path) == 0)
>> > + {
>>
>> To clarify: do you know of a way to make this strcmp() return 0,
>
> without manually corrupting the wc; just using svn commands. In other
> words, would this 'if' ever be entered to on a non-corrupt wc?
Yes, I think so. I didn't bother to test this, but:
$ cd greek-tree-working-copy
$ svn cp A A2
$ cd A/B
$ chroot . svn mv lambda blah
But I prefer to think of it as an abstract question: "Can we count on
svn_path_dirname() never returning its input unchanged?"
The answer is "no"; therefore we must test for that situation if it
would lead to an infinite loop.
-Karl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-09-20 23:21:45 CEST