|
From: | William Uther |
Subject: | Re: [Monotone-devel] Re: cannot drop non-empty directory during branch update |
Date: | Wed, 19 Sep 2007 14:26:56 +1000 |
On 19/09/2007, at 12:51 PM, Ethan Blanton wrote:
William Uther spake unto us the following wisdom:Hrm - if the files are auto-generated, then you should just delete them. You can re-generate them when you update back to this revision again. But you say you don't want to do that, so I assume that they have original data. In which case you should 'add' them to monotone.There is another possibility -- maybe they are simply expensive to generate.
I'm not sure this makes a real difference. Either you want to re- generate them or you don't. If you don't want to re-generate them then you should add them.
I actually think something maybe could change here in mtn. When a directory should be dropped in an update, but it contains unversioned files, rather than failing at that point the versioned files should be removed and the directory left behind as a normal unversioned directory with the unversioned files in it.
I think that is an optimisation though. I think the original description is better handled with two working copies.
Several times in renaming directories in the Pidgin source tree, I've had to blow away quantities of object files which I would rather have kept, all things being equal. (They could, of course, be kept by tarring them up, removing them, renaming, and extracting or what-have-you, but they're just not *that* expensive to generate! [Pidgin isn't C++, after all... ;-)]) In such a case, it really would be nice if the non-versioned files just moved right along with the versioned files.
Um, I don't understand. % mtn db init --db=mtn.db % mtn setup wc --branch=testbranch --db=mtn.db % cd wc % mtn mkdir testdir % cd testdir % touch addedfile % mtn add addedfile % mtn commit % touch nonaddedfile % cd .. % mtn mv testdir testdirB % ls _MTN testdirB % ls testdirB addedfile nonaddedfileLooks like the non added file did get moved with a move. Have you had something else happen?
Will :-}
[Prev in Thread] | Current Thread | [Next in Thread] |