[PATCH 2/2] git-commit: Add --no-status option

Subsystems: documentation, the rest

STALE3707d

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

[PATCH 2/2] git-commit: Add --no-status option

From: Dmitry V. Levin <hidden>
Date: 2016-06-15 22:43:33

By default, git-commit runs git-runstatus to print changes between
the index and the working tree.  This operation is very costly and
is not always necessary.  New option allows user to commit without
running git-runstatus when appropriate.

Signed-off-by: Dmitry V. Levin <redacted>
---
 Documentation/git-commit.txt |    7 ++++++-
 git-commit.sh                |   11 ++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index e54fb12..177e7cd 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -10,7 +10,7 @@ SYNOPSIS
 [verse]
 'git-commit' [-a | --interactive] [-s] [-v] [-u]
 	   [(-c | -C) <commit> | -F <file> | -m <msg> | --amend]
-	   [--no-verify] [-e] [--author <author>]
+	   [--no-status] [--no-verify] [-e] [--author <author>]
 	   [--] [[-i | -o ]<file>...]
 
 DESCRIPTION
@@ -85,6 +85,11 @@ OPTIONS
 -s|--signoff::
 	Add Signed-off-by line at the end of the commit message.
 
+--no-status::
+	Do not examine paths in the working tree that has changes
+	unrecorded to the index file, and changes between the
+	index file and the current commit.
+
 --no-verify::
 	This option bypasses the pre-commit hook.
 	See also link:hooks.html[hooks].
diff --git a/git-commit.sh b/git-commit.sh
index 800f96c..75126f1 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -3,7 +3,7 @@
 # Copyright (c) 2005 Linus Torvalds
 # Copyright (c) 2006 Junio C Hamano
 
-USAGE='[-a | --interactive] [-s] [-v] [--no-verify] [-m <message> | -F <logfile> | (-C|-c) <commit> | --amend] [-u] [-e] [--author <author>] [--template <file>] [[-i | -o] <path>...]'
+USAGE='[-a | --interactive] [-s] [-v] [--no-status] [--no-verify] [-m <message> | -F <logfile> | (-C|-c) <commit> | --amend] [-u] [-e] [--author <author>] [--template <file>] [[-i | -o] <path>...]'
 SUBDIRECTORY_OK=Yes
 . git-sh-setup
 require_work_tree
@@ -54,6 +54,7 @@ run_status () {
 	else
 		color=--nocolor
 	fi
+	test t = "$status" || return 0
 	git runstatus ${color} \
 		${verbose:+--verbose} \
 		${amend:+--amend} \
@@ -81,6 +82,7 @@ edit_flag=
 no_edit=
 log_given=
 log_message=
+status=t
 verify=t
 quiet=
 verbose=
@@ -184,6 +186,13 @@ $1"
 		no_edit=t
 		shift
 		;;
+	--no-s|--no-st|--no-sta|--no-stat|--no-statu|\
+	--no-status)
+		test "$status_only" = t &&
+			die "Option $1 does not make sense with ${0##*/}."
+		status=
+		shift
+		;;
 	-n|--n|--no|--no-|--no-v|--no-ve|--no-ver|--no-veri|--no-verif|\
 	--no-verify)
 		verify=
-- 
ldv

Re: [PATCH 2/2] git-commit: Add --no-status option

From: Alex Riesen <hidden>
Date: 2016-06-15 22:43:34

Dmitry V. Levin, Thu, Sep 06, 2007 01:49:53 +0200:
By default, git-commit runs git-runstatus to print changes between
the index and the working tree.  This operation is very costly and
is not always necessary.  New option allows user to commit without
running git-runstatus when appropriate.
Not a very good name for the option. Noone, except for a few, knows
that git-commit runs runstatus. The name makes no sense.

"git-commit --index", perhaps (the current state of index to be
commited). Or "git-commit --prepared" (the commit is prepared and
there can be stored immediately). Even a dumb "--fast" would be
better (because it is the purpose of the patch).

Besides, now when you disabled runstatus, you better check for changes
in the index with something like "git diff --quiet --cached".
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help