cg-commit currently chokes when passed a very large list of files.
Fix it.

This patch depends on your filenames not containing line feeds.  No
big deal, other parts of cogito break on filenames containing line
feeds.

Resent because previous send appears to have been dropped.  This patch
is cleaner.

Signed-off-by: Bryan Larsen <[EMAIL PROTECTED]>
---

 cg-commit |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/cg-commit b/cg-commit
--- a/cg-commit
+++ b/cg-commit
@@ -289,9 +289,9 @@ precommit_update () {
                eval "[EMAIL PROTECTED]"\$fname\""
        done
        # XXX: Do we even need to do the --add and --remove update-caches?
-       [ "$queueN" ] && { git-update-cache --add ${infoonly} -- "[EMAIL 
PROTECTED]" || return 1; }
-       [ "$queueD" ] && { git-update-cache --force-remove -- "[EMAIL 
PROTECTED]" || return 1; }
-       [ "$queueM" ] && { git-update-cache ${infoonly} -- "[EMAIL PROTECTED]" 
|| return 1; }
+       [ "$queueN" ] && { ( echo "${queueN[*]}" | tr \\n \\0 | IFS=$'\n' xargs 
-0 git-update-cache --add ${infoonly} -- ) || return 1; }
+       [ "$queueD" ] && { ( echo "${queueD[*]}" | tr \\n \\0 | IFS=$'\n' xargs 
-0 git-update-cache --force-remove -- ) || return 1;  }
+       [ "$queueM" ] && { ( echo "${queueM[*]}" | tr \\n \\0 | IFS=$'\n' xargs 
-0 git-update-cache ${infoonly} -- ) || return 1; }
        return 0
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to