On 06/17/2011 12:46 PM, Dirk Thomas wrote:
>>> In the test repository used in log_tests.py the path "A/D/G/rho" is:
>>> - created in revision 1
>>> - deleted in revision 5
>>> - recreated in revision 8
>>> The following commands result in the expected error "Unable to find
>>> repository location for":
>>> svn log -r 2:9 path-to-wc/A/D/G/rho_at_2
>>> svn log -r 9:2 path-to-wc/A/D/G/rho_at_2
>> On the server side, these are exactly the same request with one having a
>> "reverse" flag set. Because Subversion can only crawl history in reverse,
>> the server-side request will look like:
>> svn log -r9:2 path-to-wc/A/D/G/rho_at_2
>> But also because Subversion can only crawl history in reverse, having a peg
>> revision of 2 ("@2") and an operative revision of 9 ("-r9") is a problem
>> here. Subversion can't crawl forward in time from PATH_at_2 to see where PATH
>> lived in r9. The best it can do is ask "Does the history of the thing at
>> PATH_at_9 pass thru PATH_at_2?" In this case, it does not. The item was
>> recreated in r8, so it has no history prior to that.
>> The response you see from Subversion is exactly what is expected today in
>> this situation.
> i disagree, this is not expected.
> When selecting an item with path_at_PEG SVN should not return information about
> a totally unrelated item.
> See paragraph "The Peg Revision Algorithm" at
> SVN might not be able to trace the history of items forward.
> In a perfect world it would look where item path_at_2 is actually in revision 9.
> But since this is not (yet) support it must check if the item at path_at_2 is
> related to path_at_9.
> If this is not the case - it must output an error.
But ... but ... you said it *did* output an error:
"... result in the expected error 'Unable to find repository location' ..."
Did you read my comments and apply them to wrong section of your mail?
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2011-06-17 18:49:41 CEST