подмодуль git foreach: выполнить чтение - PullRequest
3 голосов
/ 05 мая 2011

Возможно ли выполнить чтение внутри git foreach?

git submodule foreach 'read -p "test"; echo $REPLY'

не работает вообще, так как чтение получает входные данные от самого git - который здесь является objname и hash.Есть ли возможность в интерактивном режиме читать с консоли?

1 Ответ

1 голос
/ 05 мая 2011

Вы можете перенаправить ввод / вывод на /dev/tty. Сначала вы захотите проверить, доступен ли tty с помощью isatty методов, основанных на , когда вы делаете такие вещи.

Например, создайте ./test.sh как

exec </dev/tty >/dev/tty
read -p "Enter text:" VALUE
echo "got: $VALUE"

А потом

git submodule foreach ../test.sh

Будет делать правильные вещи, например, в моем тестировании

sehe@meerkat:~/custom/MONO$ git submodule foreach ../test.sh
Entering 'cecil'
Enter text:a
got: a
Entering 'glib'
Enter text:b
got: b
Entering 'gtk-sharp'
Enter text:c
got: c
...
...