monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] deleted files


From: Daniel Carosone
Subject: Re: [Monotone-devel] deleted files
Date: Mon, 16 Oct 2006 14:45:27 +1000
User-agent: Mutt/1.5.13 (2006-08-11)

On Mon, Oct 16, 2006 at 02:06:17PM +1000, Brian May wrote:
> In monotone, if I delete some files and then commit several revisions,
> is it possible to get the files back while preserving the history?

Nope, alas.  The current merge algorithm for file lifelines is one we
call die-die-die merge, and it really only knows about add and drop.  

Unique files are created for each add, and dropped at each/every drop,
regardless of renames/etc in between.  A merge of a drop with anything
produces a drop.

> My initially thought is that it might be possible with some sort of
> merge operation, but I am not sure you could do it with the current
> UI.

It's not even UI, there's no basic cset operation in a revision that
will conflict with or override a drop when merging.

Eventually, something like your idea may be the way this is done.. to
'revive' a file, go back up in history to a revision where the file
was still alive, and commit a child with some sort of "protect" or
"undelete" or "revive" operation.  When merging this new rev back to
the HEAD, the revive cancels the drop on the other side, and provides
a continuous ancestry path for the file.

Open questions include how to handle multiple drop/revive/merge paths,
especially where propagating between several branches.  I'm sure a
sensible solution (essentially, merger behaviour for these operations)
can be designed, but noone has done so yet.

--
Dan.

Attachment: pgpiuCgICb3Hd.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]