Skip to content

Commit

Permalink
filter-branch: prevent filters from reading from stdin
Browse files Browse the repository at this point in the history
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 <matled@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Matthias Lederhofer authored and Junio C Hamano committed Jun 6, 2007
1 parent aee078b commit 350d857
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions git-filter-branch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 350d857

Please sign in to comment.