Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [Bug] git-status shows bad instructions prior to first commit

From: Jeff King <hidden>
Date: 2016-06-15 22:44:13
Subsystem: the rest · Maintainer: Linus Torvalds

Possibly related (same subject, not in this thread)

On Mon, Feb 11, 2008 at 07:13:15PM -0800, Junio C Hamano wrote:
"Rhodes, Kate" [off-list ref] writes:
quoted
While we're at it, can someone please explain to me how to remove a
file from the index prior to the first commit? I'm stumped.
rm --cached
And indeed, some clever person already made this distinction in the
git-status output, but it has been broken for a while. I'm not sure this
is worth a test now that it is fixed (but such a test _would_ have
caught this); I can make one if you like.

-- >8 --
status: suggest "git rm --cached" to unstage for initial commit

It makes no sense to suggest "git reset HEAD" since we have
no HEAD commit. This actually used to work but regressed in
f26a0012.

wt_status_print_cached_header was updated to take the whole
wt_status struct rather than just the reference field.
Previously the various code paths were sometimes sending in
s->reference and sometimes sending in NULL, making the
decision on whether this was an initial commit before we
even got to this function. Now we must check the initial
flag here.

Signed-off-by: Jeff King <redacted>
---
 wt-status.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/wt-status.c b/wt-status.c
index 27b946d..b5ae98d 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -60,7 +60,7 @@ static void wt_status_print_cached_header(struct wt_status *s)
 {
 	const char *c = color(WT_STATUS_HEADER);
 	color_fprintf_ln(s->fp, c, "# Changes to be committed:");
-	if (s->reference) {
+	if (!s->is_initial) {
 		color_fprintf_ln(s->fp, c, "#   (use \"git reset %s <file>...\" to unstage)", s->reference);
 	} else {
 		color_fprintf_ln(s->fp, c, "#   (use \"git rm --cached <file>...\" to unstage)");
-- 
1.5.4.1215.gf7da-dirty
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help