monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] What are rosters?


From: William Uther
Subject: Re: [Monotone-devel] What are rosters?
Date: Tue, 21 Aug 2007 11:31:30 +1000


On 21/08/2007, at 11:03 AM, Brian May wrote:


"William" == William Uther <address@hidden> writes:

William> Yeah - but don't get too excited. I'm pretty busy at the moment and William> this is pretty core stuff. I want to be somewhat cautious. Mistakes William> in this code are easy, and lead to annoying, subtle, bugs.

Thats good, I'd rather get the concepts right, rather then suddenly
realize that our new solution is still broken in obscure ways.

So how would you go about undeleting a file? Mark the file as added?

There would have to be a new command that said "Resurrect file X from revision Y". It would error out if file X is already in the current revision (and tell you to use rename instead). It would act a little like 'merge_into_dir' if the file never existed in any child ancestor of the current revision, in that it would add it to the current rev. It would otherwise resurrect the file - i.e. add the node back to the roster with the contents from that revision.

Hrm.  What does this mean for history tracking?

If we just do what I said above, then we'd lose history. We'd also need to make sure that the revision we resurrect the node from is a parent of the new revision generated. This might be best done by cloning merge_into_dir quite closely, and so the resurrect command would actually commit its own revision rather than being a workspace command. This is probably ok as you can use revert to get back a file that you've deleted but not committed yet.

So, yeah - a new command.

Be well,

Will          :-}





reply via email to

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