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@xxxxxxxxx>). Signed-off-by: Shawn O. Pearce <spearce@xxxxxxxxxxx> --- 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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html