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

Re: svn rev 7611: FAIL (i686-pc-linux-gnu shared ra_local)

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2003-11-04 17:12:36 CET

kfogel@collab.net writes:

> CMD: svn "merge" "-r" "1:2" blah blah blah
> svn: Invalid cross-device link
> svn: install_file: move failed
> 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'
> 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
>
> I'm guessing the solution is for svn_io_file_rename() to catch this
> error and handle it by doing a copy (at the cost of atomicity).
> Thoughts?

svn_io_file_rename may well need some changes, but I don't think it's
the best solution in this particular case.

Since merge is modifying the working copy it should be using .svn/tmp,
and not APR's tempdir. That would fix the rename problem without
introducing any atomicity problems. I guess the only reason merge
uses APR's tempdir is that it is reusing the diff -rX:Y code which
doesn't have a working copy to use. Since merge obviously does have a
working copy it should use it.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Nov 4 17:13:31 2003

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