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

Re: Problems with using a symbolic link for .svn folder on TSVN

From: Branko Čibej <brane_at_apache.org>
Date: Thu, 10 Jan 2019 13:50:42 +0100

On 10.01.2019 13:40, minxinglee_at_gmail.com wrote:
> I see. Is it possible to change the implementation slightly as outlined by Boost SVN? (https://svn.boost.org/trac10/ticket/6809). I believe this is the same issue.

It is the same issue and no it is not possible to change the
implementation "slightly" because the integrity of the working copy
relies on atomic renames. That is why Subversion doesn't use the system-
(or user-) specific temporary directory (defined by %TMP% and %TEMP% on
Windows) for such files but creates them in .svn/, to make it as likely
as possible that they'll be on the same volume as the rest of the
working copy.

The only thing we could do would be to not create temporary files in
.svn/ but in the same directory as the target file, but then we'd have
problems with potential name collisions and with such temporary files
cluttering the working copy tree after aborted operations.

It's possible, but it's not a "slight" change like adding another flag
to MoveFileEx.

-- Brane

> -----Original Message-----
> From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
> Sent: Thursday, 10 January 2019 1:36 PM
> To: Oscar Lee <minxinglee_at_gmail.com>; users_at_subversion.apache.org
> Subject: Re: Problems with using a symbolic link for .svn folder on TSVN
>
> Oscar Lee wrote on Wed, 09 Jan 2019 19:10 +0100:
>> My company uses TortoiseSVN internally to keep our files updated. The
>> .svn folder for the project I have is massive (250GB) and as such I
>> had to move it off to an external HDD. I created a symbolic link to
>> the new location so that TortoiseSVN 'should' still continue to work.
> How large are the working copy files not under the .svn/ directory?
>
> If they're substantially smaller than 250GB, you might be running into this:
> https://subversion.apache.org/docs/release-notes/1.7#wc-pristines
>
>> I managed to run a clean-up, but when I tried to revert a file, it
>> gave me an error 'Failed to run the WC DB work queue associated with
>> (file)" and "Can't move (tmp file) to ... (original file): The system
>> cannot move the file to a different disk drive".
>>
>> I found that this error is caused by Windows not letting a file be
>> renamed while it is being moved (
>> https://docs.microsoft.com/en-us/previous-versions/ms837428(v=msdn.10)).
>> Does anyone know a solution to this?
>> Why is this an issue that only occurs with a symbolic link setup?
> Subversion assumes that it is possible to atomically move a file from the .svn directory to the working copy's checked out files. That would not possible when the .svn directory is on a different drive / filesystem.
>
Received on 2019-01-10 13:50:51 CET

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