On May 19, 2006, at 04:17, Lakshman Srilakshmanan wrote:
>> I have a directory with many big files. Some other users have this
>> directory also checked out. Now I rename that directory.
>> When the other users do their update, subversion renames the
>> but also downloads the whole directory content again. Is there any
>> to avoid this behavior and only having a local rename without
>> downloading all contents of the directory?
> I believe you have requested subversion to update your working copy.
> It's just incidental that you have renamed a directory. Subversion
> not know this. It is just "following orders" and updating your working
> directory as requested. Which would require a delete of your existing
> directory and getting you a fresh copy of a new directory (ie your
> renamed directory)
> So be careful, any change your colleagues have done in their working
> copy will be lost.
That's not quite right, Lakshman.
Constantin, Subversion does not currently track renames. It tracks
deletes and adds. You told Subversion to rename a directory. But what
got stored in the repository was "delete this one directory, and add
this other directory with the same contents as the first directory,
and store it in a space-efficient manner". But when someone does an
update, the instructions the server sends are "delete this directory,
and add this other directory, and here's the new directory's
contents." If, as in your case, the directory is big, then it will
take time to download again. I do not know of a workaround.
The ability for Subversion to "properly" track renames has been often
requested, and there is an open feature request for it. I understand
it is difficult and will take some time to implement.
Lakshman, if another user has made changes in the directory that the
above process would delete, then their changes are *not* lost. The
directory would not be deleted. Rather, it would be left, and the
user's changes would become unversioned, and the user would then be
able to move their changes to the new directory.
To unsubscribe, e-mail: firstname.lastname@example.org
For additional commands, e-mail: email@example.com
Received on Fri May 19 13:04:01 2006