diff options
Diffstat (limited to 'wt-status.c')
| -rw-r--r-- | wt-status.c | 24 | 
1 files changed, 18 insertions, 6 deletions
diff --git a/wt-status.c b/wt-status.c index 34be91b77c..ca4690e86b 100644 --- a/wt-status.c +++ b/wt-status.c @@ -51,6 +51,8 @@ void wt_status_prepare(struct wt_status *s)  	s->verbose = 0;  	s->commitable = 0;  	s->untracked = 0; + +	s->workdir_clean = 1;  }  static void wt_status_print_header(const char *main, const char *sub) @@ -162,9 +164,12 @@ static void wt_status_print_changed_cb(struct diff_queue_struct *q,                          struct diff_options *options,                          void *data)  { +	struct wt_status *s = data;  	int i; -	if (q->nr) +	if (q->nr) { +		s->workdir_clean = 0;  		wt_status_print_header("Changed but not added", use_add_msg); +	}  	for (i = 0; i < q->nr; i++)  		wt_status_print_filepair(WT_STATUS_CHANGED, q->queue[i]);  	if (q->nr) @@ -215,7 +220,7 @@ static void wt_status_print_changed(struct wt_status *s)  	run_diff_files(&rev, 0);  } -static void wt_status_print_untracked(const struct wt_status *s) +static void wt_status_print_untracked(struct wt_status *s)  {  	struct dir_struct dir;  	const char *x; @@ -250,6 +255,7 @@ static void wt_status_print_untracked(const struct wt_status *s)  				continue;  		}  		if (!shown_header) { +			s->workdir_clean = 0;  			wt_status_print_header("Untracked files", use_add_msg);  			shown_header = 1;  		} @@ -291,10 +297,16 @@ void wt_status_print(struct wt_status *s)  	if (s->verbose && !s->is_initial)  		wt_status_print_verbose(s); -	if (!s->commitable) -		printf("%s (%s)\n", -			s->amend ? "# No changes" : "nothing to commit", -			use_add_msg); +	if (!s->commitable) { +		if (s->amend) +			printf("# No changes\n"); +		else if (s->workdir_clean) +			printf(s->is_initial +			       ? "nothing to commit\n" +			       : "nothing to commit (working directory matches HEAD)\n"); +		else +			printf("no changes added to commit (use \"git add\" and/or \"git commit [-a|-i|-o]\")\n"); +	}  }  int git_status_config(const char *k, const char *v)  | 
