From 350d8575293dc3f25b0c6ec4bbfd9303a0eebd76 Mon Sep 17 00:00:00 2001 From: Matthias Lederhofer Date: Tue, 5 Jun 2007 16:12:08 +0200 Subject: [PATCH] filter-branch: prevent filters from reading from stdin stdin is the list of commits when the env, tree and index filter are executed. The filters are not supposed to read anything from stdin so the best is to give them /dev/null for reading. Signed-off-by: Matthias Lederhofer Signed-off-by: Junio C Hamano --- git-filter-branch.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 0c8a7dfd3..73e7c0100 100644 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -349,21 +349,21 @@ while read commit; do eval "$(set_ident AUTHOR <../commit)" eval "$(set_ident COMMITTER <../commit)" - eval "$filter_env" + eval "$filter_env" < /dev/null 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" + eval "$filter_tree" < /dev/null git-diff-index -r $commit | cut -f 2- | tr '\n' '\0' | \ xargs -0 git-update-index --add --replace --remove git-ls-files -z --others | \ xargs -0 git-update-index --add --replace --remove fi - eval "$filter_index" + eval "$filter_index" < /dev/null parentstr= for parent in $(get_parents $commit); do -- 2.30.2