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

All breakage tests failing in svn_io_file_rename

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: 2003-11-07 15:04:58 CET

All the automatic breakage tests have been failing all week.

EXCEPTION: Failure: ['svn: Invalid cross-device link\n', 'svn: install_file: move failed\n', "svn: svn_io_file_rename: can't move '/tmp/tmp.2' to 'working_copies/merge_tests-2/A/C/Q/.svn/tmp/text-base/bar.svn-base'\n"]
FAIL: merge_tests.py 2: merge and add new files/dirs with history

Is anyone working on this?

The interface to svn_io_file_rename is "rename and/or move, but maybe not across filesystems". That's not very good. I suggest we:

+ Add svn_io_file_move: "move and/or rename a file", and use it from within install_file where it needs to move the new text base into place.
+ Remove svn_io_file_rename, or change it into a rename-only operation which cannot move the file to a different directory.

The presumed atomicity of svn_io_file_rename is nice, but not documented. If it is important, we should provide a function (perhaps svn_io_file_rename) with documented atomicity and restrictions.

There are of course other options, such as:

+ Requiring that the new file passed to install_file is already on the same filesystem as the admin directory.
+ Making install_file do the "move" itself if the "rename" fails.
+ Reverting the change that broke this. :-) (I assume that the change that broke this fixed or improved something else, so we wouldn't want to revert it.)

- Julian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Nov 7 15:03:41 2003

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