2011-12-09 6 views
5

ikiwiki를 두 개의 위키로 분할하려고합니다.ikiwiki 나누기

가정하자 나는

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

가 지금은 두 위키 myikiAmyikiB라고해야 할 페이지를 포함하는 ikiwiki라는 myiki (this question from ikiwiki.info 비교), 등이 있습니다

  • myikiA는 포함을 pageA1,pageA2,...
    myikiA의 기록에는 해당 페이지의 전체 기록이 포함되어야하지만의 기록은 포함되지 않아야합니다.

과 :

  • myikiB는 pageB1, pageB2, ... 포함
    해당 페이지의 전체 역사를하지만 pageA1,pageA2,...

의 병력에 포함되어 있어야합니다 myikiB의 역사 첫 번째 단계는 내 scrdir 사본을 만들고이 같은 foo라는 페이지를 제거하려고했습니다 (참고로 scrdir에는 calle d foo.mdwn 및 디렉토리 foo). 그것이 뭐가 잘못

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 {} \; 

모든 아이디어 :
내가이 명령을했다, 이렇게하려면?

위에서 설명한대로 페이지 목록을 제공하고 위키를 분할하는 방법이 있습니까?

+0

는 http://stackoverflow.com/questions/5677766/filter-branch-to-remove-extra-directory 도움이나 귀하의 경우에 적용 할 것인가? – VonC

+0

흠. 고마워, 그러나 나는이 상황에 그것을 적용하는 방법을 보지 못한다 (나는 초보자 다.). git-ls-files는 재귀 적으로 작동하지 않는 것 같습니다!? – student

+0

예,''git update-index --index-info' '비트가 상황을 개선시킬 수 있다면 방황하고있었습니다. – VonC

답변

1

findfoo/ 인 경우 rm -rf을 호출 한 다음 입력하면 더 많은 파일을 찾습니다. find를 사용하여 디렉토리를 제거한 다음 -prune을 사용하여 디렉토리를 무시할 수 있습니다.

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

+0

감사합니다. 이제'Rewrite 9ed693bf5ed887beac89b482ba8dcf971429838a (97/1492) find :'./index/foo.mdwn ': 파일이나 디렉토리가 없습니다. 트리 필터 실패 : git update-index --index-info && find. -name foo \ * -exec rm -r -f {} \; -prune' – student

+0

흠, 당신은'find. -name foo.mdwn -delete -o -name foo -type d -exec rm -rf {} \; -prune'?이 라인을 따라 뭔가. 또한 사용하고있는 'foo *'가 쉘에 의해 확장 될 수 있으므로 따옴표로 묶을 필요가 있음을 지적 할 가치가 있습니다. –