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

Testing with spaces in filenames/paths [was: Space in filename causes path not found on commit]

From: Julian Foad <julian.foad_at_wandisco.com>
Date: Fri, 02 Jul 2010 11:42:58 +0100

Philip Martin wrote:
> >>> Adding folder 1/file with spaces.txt
> >>> svn: Commit failed (details follow):
> >>> svn: '/svn/!svn/bc/1101/test/folder%202/file' path not found
> Yes, that's a bug. I can reproduce it with trunk_at_HEAD. Please raise
> an issue.

I think we should change our test suite to use folder and file names
containing spaces all the time.

For a start, we can easily add a space into the WC root abspaths used by
all the tests:

Index: subversion/tests/cmdline/svntest/main.py
--- subversion/tests/cmdline/svntest/main.py (revision 959554)
+++ subversion/tests/cmdline/svntest/main.py (working copy)
@@ -178,7 +178,7 @@
 # Where we want all the repositories and working copies to live.
 # Each test will have its own!
 general_repo_dir = os.path.join(work_dir, "repositories")
-general_wc_dir = os.path.join(work_dir, "working_copies")
+general_wc_dir = os.path.join(work_dir, "working copies")
 # temp directory in which we will create our 'pristine' local
 # repository and other scratch data. This should be removed when we

With that particular global change, the tests all still pass! (I was
slightly surprised.)

Any objection to this step? The only down side I can think of is the
slight inconvenience for us developers of having to quote the path on
the command line when debugging the tests, and that's not something that
should put us off.

Then we can work on extending the principle in one or more different
ways, which, I'm sure, will detect a bunch of bugs:

  * space in some of the within-WC paths;

  * other ASCII pathnames that require URI-escaping, or in any other way
have the potential to be mis-handled by Subversion;

  * non-ASCII characters (but the ability to do this would depend on
what locales the test platform supports, and so would require
configuration magic to enable it);

  * similar things for repository-side paths.

- Julian
Received on 2010-07-02 12:44:45 CEST

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