tags 515910 + patch
quit

On Wed, Feb 18, 2009 at 11:23:15AM +0100, Uwe Kleine-König wrote:
> when I run git quiltimport without --author and it fails to determine
> an author, quiltimport tries a `read patch_author`.
> 
> At least for me this doesn't work, the read command seems to consume
> input from the series files, not from my tty.  And after that it enters
> an infinite loop, probably because read fails.

Hi Uwe, does the attached patch fix this for you?

Thanks, Gerrit.
>From 679c4e82bf8eb9a7bb144884629c8b1e781c7ffc Mon Sep 17 00:00:00 2001
From: Gerrit Pape <[email protected]>
Date: Fri, 20 Feb 2009 08:39:26 +0000
Subject: [PATCH] git-quiltimport: preserve standard input to be able to read user input
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

When run without --author and it fails to determine an author, git
quiltimport tries `read patch_author` to get user input, but standard
input has been redirected to the patch series file.  This commit lets
quiltimport read the series file through file descriptor 3 so that the
standard input is preserved.

Reported by Uwe Kleine-König through
 http://bugs.debian.org/515910
---
 git-quiltimport.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/git-quiltimport.sh b/git-quiltimport.sh
index cebaee1..9a6ba2b 100755
--- a/git-quiltimport.sh
+++ b/git-quiltimport.sh
@@ -63,7 +63,7 @@ tmp_info="$tmp_dir/info"
 commit=$(git rev-parse HEAD)
 
 mkdir $tmp_dir || exit 2
-while read patch_name level garbage
+while read patch_name level garbage <&3
 do
 	case "$patch_name" in ''|'#'*) continue;; esac
 	case "$level" in
@@ -134,5 +134,5 @@ do
 		commit=$( (echo "$SUBJECT"; echo; cat "$tmp_msg") | git commit-tree $tree -p $commit) &&
 		git update-ref -m "quiltimport: $patch_name" HEAD $commit || exit 4
 	fi
-done <"$QUILT_PATCHES/series"
+done 3<"$QUILT_PATCHES/series"
 rm -rf $tmp_dir || exit 5
-- 
1.6.1.3

Reply via email to