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