Hi Petr
Thankyou for the help earlier - problem resolved.
I have a trivial patch (attached).
It allows: find src -type f | git add -
and fixes git status not reporting added files properly (on my debian system it only reported the first file in .git/add-queue)
Should I send this as a patch or as some kind of git object? (I'm still trying to figure out git workflow)
David
--
Index: README =================================================================== --- c0aff9b98c4242ab8965c428241df1d8f7a1d4bb/README (mode:100644 sha1:798476ad292cc6edf5a2f5782e1de82f6052abe2) +++ 1c3349b813d463ce194be06f14ccfbcc3fc2ba30/README (mode:100644 sha1:4282af1604e429dd767fe721751b5ac4a87c410e) @@ -89,6 +89,10 @@ Of course you will want to commit. If you added any new files, do git add newfile1 newfile2 ... + +or even + + find src -type f | git add - first. Then feel free to commit by Index: git =================================================================== --- c0aff9b98c4242ab8965c428241df1d8f7a1d4bb/git (mode:100755 sha1:b648169640025bd68d1b27a0fcc85b65d85e4440) +++ 1c3349b813d463ce194be06f14ccfbcc3fc2ba30/git (mode:100755 sha1:5f3d4d04a0adfdc26bfc6aaef5cd29eea6e5c459) @@ -25,7 +25,7 @@ Usage: git COMMAND [ARG]... Available commands: - add FILE... + add FILE... | - < files on stdin addremote RNAME RSYNC_URL apply < patch on stdin cancel Index: gitadd.sh =================================================================== --- c0aff9b98c4242ab8965c428241df1d8f7a1d4bb/gitadd.sh (mode:100755 sha1:3ed93ea0fcb995673ba9ee1982e0e7abdbe35982) +++ 1c3349b813d463ce194be06f14ccfbcc3fc2ba30/gitadd.sh (mode:100755 sha1:d010d14c0c14e0ea7a2e448b667d938fe92a3bc2) @@ -9,10 +9,14 @@ # FIXME: Those files are omitted from show-diff output! if [ ! "$1" ]; then - echo "gitadd.sh: usage: git add FILE..." >&2 + echo "gitadd.sh: usage: git add - | FILE..." >&2 exit 1; fi -for file in "$@"; do - echo $file >>.git/add-queue -done +if [ $1 == "-" ]; then + cat - >> .git/add-queue +else + for file in "$@"; do + echo $file >>.git/add-queue + done +fi Index: gitstatus.sh =================================================================== --- c0aff9b98c4242ab8965c428241df1d8f7a1d4bb/gitstatus.sh (mode:100755 sha1:6c33f805ebc2630b14a88a07dfc891a9196d66a5) +++ 1c3349b813d463ce194be06f14ccfbcc3fc2ba30/gitstatus.sh (mode:100755 sha1:e2c7f9d56b6967c529453de675ffffaaeeff3d1c) @@ -5,8 +5,8 @@ { show-files -z -t --others --deleted --unmerged - [ -s .git/add-queue ] && cat .git/add-queue | sed 's/^/A /' | { read x; echo -ne $x'\0'; } - [ -s .git/rm-queue ] && cat .git/rm-queue | sed 's/^/D /' | { read x; echo -ne $x'\0'; } + [ -s .git/add-queue ] && cat .git/add-queue | sed 's/^/A /' | tr '\n' '\0' + [ -s .git/rm-queue ] && cat .git/rm-queue | sed 's/^/D /' | tr '\n' '\0' } | sort -z -k 2 | xargs -0 sh -c ' while [ "$1" ]; do tag=$(echo "$1" | cut -d " " -f 1);