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

_______________________________________________
darcs-users mailing list
[email protected]
http://www.abridgegame.org/mailman/listinfo/darcs-users

Reply via email to