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

Re: svn commit: r33201 - in trunk/subversion: libsvn_wc tests/cmdline

From: Karl Fogel <kfogel_at_red-bean.com>
Date: Sat, 20 Sep 2008 17:21:30 -0400

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

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