[PATCH] cg-admin-rewritehist: fix reappearing files with --filter-tree.
- From
Johannes Sixt <johannes.sixt@telecom.at>
- Date
- Apr 29, 2006, 21:45 UTC
- Message-ID
- <20060429214540.524C14A5A6@dx.sixt.local>
With --filter-tree a working copy is checked out for each commit. However, if a file is removed by a commit, the file is _not_ removed from the working copy by git-checkout-index. This must be done explicitly, otherwise the file becomes added back again.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
---
cg-admin-rewritehist | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
26bb71a2d3d583d9eee10f4e950ff1b7d400e975
diff --git a/cg-admin-rewritehist b/cg-admin-rewritehist index 7dd83cf..13ffb5d 100755 --- a/cg-admin-rewritehist +++ b/cg-admin-rewritehist @@ -213,10 +213,13 @@ while read commit; do if [ "$filter_tree" ]; then git-checkout-index -f -u -a + # files that $commit removed are now still in the working tree; + # remove them, else they would be added again + git-ls-files -z --others | xargs -0 rm -f eval "$filter_tree" git-diff-index -r $commit | cut -f 2- | tr '\n' '\0' | \ xargs -0 git-update-index --add --replace --remove - git-ls-files --others | tr '\n' '\0' | \ + git-ls-files -z --others | \ xargs -0 git-update-index --add --replace --remove fi
-- 1.3.1.gaa6b