Split an ikiwiki
我想把一个池池子分成两个维基。
假设我有一个名为myiki的ikiwiki(比较ikiwiki.info中的这个问题),其中包含页面
1
| pageA1,pageA2,...,pageB1,pageB2,... |
现在我想要两个名为myikiA和myikiB的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?
- stackoverflow.com/questions/5677766/…对您的案例有帮助还是适用?
- 嗯,谢谢,不过我不知道,如何把它应用到这种情况(我是一个Git新手)。Git LS文件似乎无法正常工作!?
- 是的,如果"EDOCX1"(0)位可以改善情况,我只是在闲逛。
- @VONC你能发布完整的命令吗?我应该尝试而不是在我的岗位上发布?
- 解决这个问题对我来说真的很重要,欢迎有任何想法…
- 对不起,我最初的想法不适用于你的git filter-branch命令。那应该是sudo git filter-branch --tree-filter 'git update-index --index-info && find . -name foo* -exec rm -r -f {} \;' --prune-empty -f HEAD。
- @VONC是的,给出相同的错误。
- 由于到目前为止没有答案,尽管有赏金,这可能是一个好主意,把这个问题转移到另一个stackexchange网站。你觉得哪个网站适合这个问题?
当find发现rm -rffoo/,它调用它,然后进入它试图找到更多的文件。你可以因为find删除目录,然后使用-prune忽略它。
find . -name foo* -exec rm -r -f {} \; -prune
- 谢谢,现在我得到:Rewrite 9ed693bf5ed887beac89b482ba8dcf971429838a (97/1492)find: /index/foo.mdwn':没有这样的文件或目录树过滤器失败:git update index--index info&;find。-姓名foo*-exec rm-r-f ;-prune`
- 嗯,你可能会和find . -name foo.mdwn -delete -o -name foo -type d -exec rm -rf {} \; -prune私奔?沿着这些线。同样值得指出的是,您使用的"foo*"可能会被shell扩展,因此您可能需要将其放入引号中。