From: Bryan Larsen Date: Fri, 08 Jul 2005 10:54:51 GMT Subject: [PATCH] 6/7 Add the -N option to cg-commit. Message-ID: <42CE5B7B.7000503@gmail.com> Add the -N option to cg-commit. Signed-off-by: Bryan Larsen --- cg-commit | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cg-commit b/cg-commit --- a/cg-commit +++ b/cg-commit @@ -39,6 +39,10 @@ # the tree is the same as the last time you committed, no changes # happenned. # +# -N:: +# Don't add the files to the object database, just update the caches +# and the commit information. +# # FILES # ----- # $GIT_DIR/author:: @@ -103,11 +107,16 @@ fi force= forceeditor= ignorecache= +infoonly= commitalways= +nocheck= msgs=() while optparse; do if optparse -C; then ignorecache=1 + elif optparse -N; then + nocheck=--no-check + infoonly=--info-only elif optparse -e; then forceeditor=1 elif optparse -E; then @@ -278,9 +287,9 @@ precommit_update () { eval "queue$op[\${#queue$op[@]}]=\"\$fname\"" done # XXX: Do we even need to do the --add and --remove update-caches? - [ "$queueN" ] && { git-update-cache --add -- "${queueN[@]}" || return 1; } + [ "$queueN" ] && { git-update-cache --add ${infoonly} -- "${queueN[@]}" || return 1; } [ "$queueD" ] && { git-update-cache --force-remove -- "${queueD[@]}" || return 1; } - [ "$queueM" ] && { git-update-cache -- "${queueM[@]}" || return 1; } + [ "$queueM" ] && { git-update-cache ${infoonly} -- "${queueM[@]}" || return 1; } return 0 } @@ -300,7 +309,7 @@ if [ -s "$_git/HEAD" ]; then oldheadstr="-p $oldhead" fi -treeid=$(git-write-tree) +treeid=$(git-write-tree ${nocheck}) [ "$treeid" ] || die "git-write-tree failed" if [ ! "$force" ] && [ ! "$merging" ] && [ "$oldhead" ] && [ "$treeid" = "$(tree-id)" ]; then