关于git:拆分ikiwiki

Split an ikiwiki

我想把一个池池子分成两个维基。

假设我有一个名为myiki的ikiwiki(比较ikiwiki.info中的这个问题),其中包含页面

1
pageA1,pageA2,...,pageB1,pageB2,...

现在我想要两个名为myikiAmyikiB的wiki,这样:

  • myikiA包含pageA1,pageA2,...myikiA的历史应该包含这些页面的全部历史,但是没有pageB1,pageB2,...的历史。

还有:

  • myikiB包含pageb1、pageb2,…myikiB的历史应该包含这些页面的全部历史,但不包含pageA1,pageA2,...的历史。

在第一步中,我复制了我的scrdir,并试图删除一个名为foo的页面(注意,在scrdir中也有名为foo.mdwn的文件和目录foo)。为此,我执行了以下命令:

1
2
3
4
sudo git filter-branch --tree-filter 'find . -name foo* -exec rm -r -f  {} \;' --prune-empty -f HEAD

Rewrite 3cbc4646145e31cf7ce23d5e8397baaebab64c60 (179/1439)find: `./index/testdir/foo': No such file or directory
tree filter failed: find . -name foo* -exec rm -r -f  {} \;

知道怎么回事吗?

有没有一种方法可以给出页面列表并按上述方式拆分wiki?


find发现rm -rffoo/,它调用它,然后进入它试图找到更多的文件。你可以因为find删除目录,然后使用-prune忽略它。

find . -name foo* -exec rm -r -f {} \; -prune