All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Parkins <andyparkins@gmail.com>
To: git@vger.kernel.org
Subject: [PATCH] Make git-commit cleverer - have it figure out whether it needs -a automatically
Date: Thu, 30 Nov 2006 15:01:43 +0000	[thread overview]
Message-ID: <200611301501.43436.andyparkins@gmail.com> (raw)
In-Reply-To: <fcaeb9bf0611300532x77c7fc8aq2ba77ff57b81cc05@mail.gmail.com>

Raimund Bauer offered this suggestion (paraphrased):

"Maybe we could do git-commit -a  _only_ if the index matches HEAD, and
otherwise keep current behavior?  So people who don't care about the
index won't get tripped up, and when you do have a dirty index, you get
told about it?"

Johannes Schindelin pointed out that this isn't the right thing to do for
an --amend, so that is checked for. Additionally, it's probably not the
right thing to do if any files are specified with "--only" or
"--include", so they turn this behaviour off as well.

Nguyen Thai Ngoc Duy asked that git-commit let you know it's done this
by adding an extra comment to the commit message.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
---
 git-commit.sh |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/git-commit.sh b/git-commit.sh
index 81c3a0c..b391257 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -265,6 +265,16 @@ $1"
 done
 case "$edit_flag" in t) no_edit= ;; esac
 
+# Clever commit - if this commit would do nothing, then make it an "all"
+# commit
+if [ -z "$(git-diff-index --cached --name-only HEAD)" \
+	-a -z "$amend" -a -z "$only" -a -z "$also" ]; then
+	echo "# There was nothing to commit but changes were detected in the" > $GIT_DIR/SQUASH_MSG
+	echo "# working tree. 'git commit -a' mode activated." >> $GIT_DIR/SQUASH_MSG
+	echo "#" >> $GIT_DIR/SQUASH_MSG
+	all=t
+fi
+
 ################################################################
 # Sanity check options
 
-- 
1.4.4.1.g3ece-dirty

  parent reply	other threads:[~2006-11-30 15:01 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-30 12:59 [PATCH/RFC] Make git-commit cleverer - have it figure out whether it needs -a automatically Andy Parkins
2006-11-30 13:13 ` Jakub Narebski
2006-11-30 13:24   ` [PATCH] " Andy Parkins
2006-11-30 13:32     ` Nguyen Thai Ngoc Duy
2006-11-30 13:41       ` Jakub Narebski
2006-11-30 15:01       ` Andy Parkins [this message]
2006-11-30 15:43         ` Salikh Zakirov
2006-11-30 16:28         ` Jakub Narebski
2006-12-01 10:59           ` Andy Parkins
2006-11-30 15:34   ` [PATCH/RFC] " Johannes Schindelin
2006-11-30 17:14 ` Alex Riesen
2006-12-01 10:52   ` Andy Parkins
2006-12-01 13:07     ` Alex Riesen
2006-12-01 15:17       ` Andy Parkins
  -- strict thread matches above, loose matches on Subject: below --
2006-12-01 11:06 [PATCH] " Andy Parkins
2006-12-01 11:15 ` Junio C Hamano
2006-12-01 11:32   ` Junio C Hamano
2006-12-01 12:33   ` Andy Parkins
2006-12-02  8:09 ` Junio C Hamano
2006-12-02  9:45   ` Carl Worth
2006-12-03  9:57   ` Andy Parkins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200611301501.43436.andyparkins@gmail.com \
    --to=andyparkins@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.