git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] filter-branch: prevent filters from reading from stdin
@ 2007-06-05 14:12 Matthias Lederhofer
  2007-06-05 16:10 ` Johannes Schindelin
  0 siblings, 1 reply; 2+ messages in thread
From: Matthias Lederhofer @ 2007-06-05 14:12 UTC (permalink / raw)
  To: git

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>
---
 git-filter-branch.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index f4cfbea..e220b85 100644
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh
@@ -352,21 +352,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
-- 
1.5.2.1.120.g3877-dirty

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] filter-branch: prevent filters from reading from stdin
  2007-06-05 14:12 [PATCH] filter-branch: prevent filters from reading from stdin Matthias Lederhofer
@ 2007-06-05 16:10 ` Johannes Schindelin
  0 siblings, 0 replies; 2+ messages in thread
From: Johannes Schindelin @ 2007-06-05 16:10 UTC (permalink / raw)
  To: Matthias Lederhofer; +Cc: git

Hi,

On Tue, 5 Jun 2007, Matthias Lederhofer wrote:

> 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.

ACK. After chatting with Matthias on IRC, I agree that there is more 
damage than benefit from being able to (accidentally) take stdin in these 
filters.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-06-05 16:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-05 14:12 [PATCH] filter-branch: prevent filters from reading from stdin Matthias Lederhofer
2007-06-05 16:10 ` Johannes Schindelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).