filter-branch: add example to move everything into a subdirectory

This is based on Jeff King's example in

	20070621130137.GB4487@coredump.intra.peff.net

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2007-06-21 18:05:30 +01:00 committed by Junio C Hamano
parent 0f2890acd9
commit 55f22ff22e
2 changed files with 16 additions and 0 deletions

8
git-filter-branch.sh Executable file → Normal file
View File

@ -178,6 +178,14 @@
#
# git-filter-branch ... new-H C..H --not D
# git-filter-branch ... new-H D..H --not C
#
# To move the whole tree into a subdirectory, or remove it from there:
#
# git-filter-branch --index-filter \
# 'git-ls-files -s | sed "s-\t-&newsubdir/-" |
# GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
# git-update-index --index-info &&
# mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' directorymoved
# Testsuite: TODO

View File

@ -99,4 +99,12 @@ test_expect_success 'subdirectory filter result looks okay' '
! git show sub:subdir
'
test_expect_success 'use index-filter to move into a subdirectory' '
git-filter-branch --index-filter \
"git-ls-files -s | sed \"s-\\t-&newsubdir/-\" |
GIT_INDEX_FILE=\$GIT_INDEX_FILE.new \
git-update-index --index-info &&
mv \$GIT_INDEX_FILE.new \$GIT_INDEX_FILE" directorymoved &&
test -z "$(git diff HEAD directorymoved:newsubdir)"'
test_done