Multi-user working copy: ownership changes
From: Yves Forkl <yvesforkl02_at_arcor.de>
Date: Tue, 20 Nov 2012 02:02:52 -0800 (PST)
yes, this post is (somehow) about the subject of multi-user working copies. I am aware that sharing a working copy is, in general, a very bad basis for collaboration, when multiple users contribute to the same working copy (risking severe conflicts and refusing to make use of proper VC at all).
However, in our scenario, we don't use this working copy for multi-lateral internal development, but solely for the exchange of data (created by us) with our customer and further partners. Hence, at least from my point of view, our entire company is to be considered as the "user" who owns this single working copy on our side.
Given that SVN strongly (and rightfully) discourages multi-user working copies, its internal locking mechanism is implemented in a way which leads to problems when different Windows users apply TortoiseSVN operations to the same working copy directory:
Certain internal SVN files (e.g. "dir-prop-base" and "entries") will change ownership to the current user and will be write-protected. As a consequence, if the Windows user who is the owner of the corking copy accesses the working copy the next time, he/she is not allowed to remove that write protection as a prerequisite to start (most) SVN operations.
In this case, the Sys Admin needs to reset ownership of the mentioned files to the original owner - which is unacceptable for production usage.
Now my question: Can you think of any solution which would satisfy the following requirements?
- A single working copy being used for data exchange with our customer.
- Multiple Windows users that are able to run TortoiseSVN on that working copy (on a Windows share) without it getting "damaged" by SVN as described above. It can be assumed that those users do not access the working copy simultaneously because there will always be only one person in charge of doing so.
One idea might be to prevent SVN from changing ownership of the mentioned files, but I fear that might be very hard to achieve.
Another idea might be to do rather the opposite, i.e. have the whole working copy change ownership to the current user as soon as someone calls any TortoiseSVN functions (so that "dir-prop-base" and "entries" will have the correct ownership). I wonder if this is feasible, though.
Of course, there also might be other approaches trying to avoid the above problem altogether. In particularly, we have come up with this one (which would require quite some changes in our setup, though):
Access the single working copy only as one single user, through a "generic" account which is mainly used to synchronize the working copy with another local directory.
It is not entirely clear to me how to do this synchronization. I suspect it would be imaginable to synchronize by means of SVN, too, which would mean setting up a second repo, but I am not sure how to establish communication between the (single) external repo's working copy on the one hand and this second (internal) repo and its working copies on the other hand...
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
This is an archived mail posted to the TortoiseSVN Users mailing list.