On Wed, Mar 07, 2007 at 04:28:29PM +0100, Michael Hübner wrote:
> There is already a "delete" operation, which removes the file from the
> HEAD and deletes the file in all working copies on update.
>
> What is missing is a "remove" operation, which removes the file from the
> HEAD and simply changes the status of the file to "unversioned" in all
> working copies on update, i.e. does NOT delete the file in the working
> copy.
There are two problems with this operation: firstly, it can be
unobviously dangerous - it can cause conflicts in working copies that
don't have any local modifications:
svn add foo # r10
svn delete --but-not-from-working-copies foo # r18
# Later, we add the file again.
svn add foo # r20
Now anyone with an unmodified wc that updates to each revision in turn
will find that, at r20, their local 'foo' is obstructing the remote
'foo'. This isn't an uncommon pattern - think of continuous build
machines or websites that are updated automatically.
The second problem is a technical one. If someone is at r1 and updates
to r19, they should see the addition of a file that's not version
controlled. We don't have any way to represent that addition.
Regards,
Malcolm
- application/pgp-signature attachment: stored
Received on Mon Mar 12 10:30:13 2007