[darcs-users] removing old history

Ganesh Sittampalam ganesh at earth.li
Sat Oct 28 17:42:22 UTC 2006


On Fri, 27 Oct 2006, Dan wrote:

>> This depends.  The simple case is if there are no patches which affect 
>> both the private files and the public ones.  In that case, you can just 
>> obliterate the relevant patches.
>
> Ah, that makes sense. Any idea how I could find those patches easily?

zgrep filename _darcs/patches/*

(zgrep may only be in Debian, but you can simulate it by gunzipping them 
then re gzipping them afterwards)

(this could be made more precise by matching precisely the lines that 
indicate a patch to that file, if you read the patch file format it should 
be reasonably obvious)

The actual names of the patches can be found by reading the first lines of 
the patch files.

> I'd suggest an option to the "remove" command to delete a file from all 
> patches. Or a command to "split" a repository in N (including splitting 
> all patches), so I could keep the history of the private files in a 
> separate repo too.

All these things are very dangerous if the patches are to be found 
elsewhere as you will end up with two patches with the same name but 
different effects.

In principle this could be done but I think it should be kept outside 
darcs itself, i.e. a separate utility. Also, you have to work out how to 
handle patches that move files between the newly formed parts.

> BTW, can I mutate the contents of a patch file?

If you're very careful and make sure your repo is still ok afterwards with 
'darcs check', and subject to the caveats above about breaking the world 
if the patch exists elsewhere when you modify it. Again the format of the 
contents of the patch files should be relatively obvious.

Cheers,

Ganesh




More information about the darcs-users mailing list