# [PATCH 1/2] Suggest use of 'git add' when 'nothing to commit' gets shown.

3 messages from 2006-12-15 to 2006-12-15. Participants: Shawn O. Pearce, Shawn Pearce, Andreas Ericsson.
Thread: https://gitlist.dev/t/43300

## Shawn O. Pearce, 2006-12-15 00:13

Subject: [PATCH 1/2] Suggest use of 'git add' when 'nothing to commit' gets shown.
Message-ID: <20061215001350.GA26755@spearce.org>
URL: https://gitlist.dev/e/20061215001350.GA26755%40spearce.org

```
If a user modifies files and runs 'git commit' (without the very
useful -a option) and they have not yet updated the index they
are probably coming from another SCM-like tool which would perform
the same as 'git commit -a' in this case.  Showing the user their
current status and a final line of "nothing to commit" is not very
reassuring, as the user might believe that Git did not recognize
their files were modified.

Instead we can suggest as part of the 'nothing to commit' message
that the user invoke 'git add' to add files to their next commit.

Suggested by Andy Parkins in his Git 'niggles' list
(<200612132237.10051.andyparkins@gmail.com>).

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 git-commit.sh |    2 +-
 wt-status.c   |    7 ++++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/git-commit.sh b/git-commit.sh
index 05828bb..fb69e11 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -515,7 +515,7 @@ then
 	current="$(git-rev-parse --verify HEAD)"
 else
 	if [ -z "$(git-ls-files)" ]; then
-		echo >&2 Nothing to commit
+		echo >&2 "Nothing to commit (use \"git add\" include for commit)"
 		exit 1
 	fi
 	PARENTS=""
diff --git a/wt-status.c b/wt-status.c
index 6e9414d..f9ed54f 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -163,7 +163,7 @@ static void wt_status_print_changed_cb(struct diff_queue_struct *q,
 	int i;
 	if (q->nr)
 		wt_status_print_header("Changed but not updated",
-				"use git-add on files to include for commit");
+				"use \"git add\" on files to include for commit");
 	for (i = 0; i < q->nr; i++)
 		wt_status_print_filepair(WT_STATUS_CHANGED, q->queue[i]);
 	if (q->nr)
@@ -250,7 +250,7 @@ static void wt_status_print_untracked(const struct wt_status *s)
 		}
 		if (!shown_header) {
 			wt_status_print_header("Untracked files",
-				"use \"git add\" to add to commit");
+				"use \"git add\" on files to include for commit");
 			shown_header = 1;
 		}
 		color_printf(color(WT_STATUS_HEADER), "#\t");
@@ -292,7 +292,8 @@ void wt_status_print(struct wt_status *s)
 	if (s->verbose && !s->is_initial)
 		wt_status_print_verbose(s);
 	if (!s->commitable)
-		printf("%s\n", s->amend ? "# No changes" : "nothing to commit");
+		printf("%s (use \"git add\" include for commit)\n",
+			s->amend ? "# No changes" : "Nothing to commit");
 }
 
 int git_status_config(const char *k, const char *v)
-- 
1.4.4.2.g72f5

```

## Andreas Ericsson, 2006-12-15 09:11

Subject: Re: [PATCH 1/2] Suggest use of 'git add' when 'nothing to commit' gets shown.
Message-ID: <458266D4.5050301@op5.se>
URL: https://gitlist.dev/e/458266D4.5050301%40op5.se
In-Reply-To: <20061215001350.GA26755@spearce.org>

```
Shawn O. Pearce wrote:
>  else
>  	if [ -z "$(git-ls-files)" ]; then
> -		echo >&2 Nothing to commit
> +		echo >&2 "Nothing to commit (use \"git add\" include for commit)"

s/git add include/git add to include/

>  		exit 1
>  	fi
>  	PARENTS=""
> diff --git a/wt-status.c b/wt-status.c
> index 6e9414d..f9ed54f 100644
> --- a/wt-status.c
> +++ b/wt-status.c
> @@ -163,7 +163,7 @@ static void wt_status_print_changed_cb(struct diff_queue_struct *q,
>  	int i;
>  	if (q->nr)
>  		wt_status_print_header("Changed but not updated",
> -				"use git-add on files to include for commit");
> +				"use \"git add\" on files to include for commit");

Here it's "on files", whereas in other threads people have stated that 
git add adds content, so perhaps

use \"git add file1 file2\" to include for commit

which also gives a nice "simplest-possible-usage" message.


>  		if (!shown_header) {
>  			wt_status_print_header("Untracked files",
> -				"use \"git add\" to add to commit");
> +				"use \"git add\" on files to include for commit");

Same here.


>  	if (!s->commitable)
> -		printf("%s\n", s->amend ? "# No changes" : "nothing to commit");
> +		printf("%s (use \"git add\" include for commit)\n",
> +			s->amend ? "# No changes" : "Nothing to commit");
>  }

This is same as first one (missing "to " before "include").

It would probably be nice to use one and the same message everywhere though.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se

```

## Shawn Pearce, 2006-12-15 15:06

Subject: Re: [PATCH 1/2] Suggest use of 'git add' when 'nothing to commit' gets shown.
Message-ID: <20061215150632.GD17860@spearce.org>
URL: https://gitlist.dev/e/20061215150632.GD17860%40spearce.org
In-Reply-To: <458266D4.5050301@op5.se>

```
Andreas Ericsson <ae@op5.se> wrote:
> Shawn O. Pearce wrote:
> > else
> > 	if [ -z "$(git-ls-files)" ]; then
> >-		echo >&2 Nothing to commit
> >+		echo >&2 "Nothing to commit (use \"git add\" include for 
> >commit)"
> 
> s/git add include/git add to include/

Thanks!  I'm going to rewrite this patch series as I clearly fumbled
a few items, which you were kind enough to take the time to point
out for me.

> It would probably be nice to use one and the same message everywhere though.

That was my intent.  My fingers failed me somehow.  ;-)

-- 

```
