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

Calling svn_client_commit on single file with nonrecursive set to true causes fubarness

From: Arild Fines <arild.fines_at_broadpark.no>
Date: 2003-04-29 18:27:24 CEST

One of the tests in our testsuite(ankhsvn) picked up something which looks
like a regression from 0.20. If you call svn_client_commit on a single file
with the nonrecursive flag set to true, the whole thing bails out and
complains about an invalid path, the error message looking like this:

Commit failed (details follow):
check_path: problem checking path "n:/tmp/wc/??????วแ<"

Obviously, that last part of the path shouldn't be there. The problem seems
to have something to do with the following lines(163-169) in
libsvn_subr/target.c:

rel_item = ((const char **)abs_targets->elts)[i];
/* If a common prefix was found, condensed_targets
are given relative to that prefix. */
if (basedir_len > 0)
        rel_item += basedir_len + 1;

In the case that nonrecursive is set to true, basedir will be the same as
rel_item, and rel_item + basedir_len + 1 is one step off the end of
rel_item.

The attached file reproduces this behavior for me on Windows XP, linked
against Subversion rev 5740.

--
Arild


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Received on Tue Apr 29 18:28:33 2003

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