Skip to content

Commit

Permalink
Suggest use of "git add file1 file2" when there is nothing to commit.
Browse files Browse the repository at this point in the history
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' Git 'niggles' list
(<200612132237.10051.andyparkins@gmail.com>).

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Shawn O. Pearce authored and Junio C Hamano committed Dec 16, 2006
1 parent e697e4c commit aeb80c7
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
2 changes: 1 addition & 1 deletion git-commit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,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 file1 file2" to include for commit)'
exit 1
fi
PARENTS=""
Expand Down
11 changes: 6 additions & 5 deletions wt-status.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ static char wt_status_colors[][COLOR_MAXLEN] = {
"\033[31m", /* WT_STATUS_CHANGED: red */
"\033[31m", /* WT_STATUS_UNTRACKED: red */
};
static const char* use_add_msg = "use \"git add file1 file2\" to include for commit";

static int parse_status_slot(const char *var, int offset)
{
Expand Down Expand Up @@ -162,8 +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");
wt_status_print_header("Changed but not updated", use_add_msg);
for (i = 0; i < q->nr; i++)
wt_status_print_filepair(WT_STATUS_CHANGED, q->queue[i]);
if (q->nr)
Expand Down Expand Up @@ -249,8 +249,7 @@ static void wt_status_print_untracked(const struct wt_status *s)
continue;
}
if (!shown_header) {
wt_status_print_header("Untracked files",
"use \"git add\" to add to commit");
wt_status_print_header("Untracked files", use_add_msg);
shown_header = 1;
}
color_printf(color(WT_STATUS_HEADER), "#\t");
Expand Down Expand Up @@ -292,7 +291,9 @@ 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 (%s)\n",
s->amend ? "# No changes" : "nothing to commit",
use_add_msg);
}

int git_status_config(const char *k, const char *v)
Expand Down

0 comments on commit aeb80c7

Please sign in to comment.