[darcs-users] making add/remove file commute with content change
Ben Franksen
ben.franksen at online.de
Tue Nov 27 22:30:56 UTC 2007
Doug Philips wrote:
> On Tuesday, November 27, 2007, at 01:24PM, "Ketil Malde" wrote:
>>Ben Franksen writes:
>>.. This would let you have different files
>>with the same name at different times.
>
> The problem I have with ghosts of deleted files is precisely that once a
> file is deleted, a new file can never be created with the same name. Ugh.
[I like the term 'ghost' :-) Fits nicely with change types 'forget'
and 'remember'; anyway...]
Who's to say never? You could either
(1) explicitly 'darcs forget' the ghost (and no longer be haunted ;)
(2) 'darcs mv' it out of the way (to another directory, or rename it)
Note that option (1) is exactly what you get now (automatically) when you
remove something. My proposal merely separates the operation into two
phases with the ghost being the intermediate state; it gives you strictly
more options than you have now, viz. option (2).
Eventually, each ghost will be 'forgotten', once you're reasonably sure that
nobody will ever want to resurrect it. One practical advantage of the
proposed scheme is that you can postpone this decision as long as you like
(and circumstances don't force you to do something about it).
Some more random thoughts:
The user interface should normally not show ghosts, you'd need to supply an
extra option to see them. When file creation or move/rename would conflict
with a ghost, darcs could ask whether you want one of the above listed
options or rather abort the file creation. A 'darcs add' command on a new
file would have the usual triple result of (1st) remembering the file,
(2nd) resurrecting it, and (3rd) adding its content (if any).
Cheers
Ben
More information about the darcs-users
mailing list