summaryrefslogtreecommitdiff
path: root/wt-status.h
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2013-03-13 18:42:52 +0700
committerJunio C Hamano <gitster@pobox.com>2013-03-16 22:11:02 -0700
commitb397ea4863a143e97cb9da76c6c18cc555537d64 (patch)
tree3b3c8fdaca654e980e4dc108b0d8674c4220c9fa /wt-status.h
parent3b691cccb02e660002a7ff414ad21ddac932dc6c (diff)
downloadgit-b397ea4863a143e97cb9da76c6c18cc555537d64.tar.gz
status: show more info than "currently not on any branch"
When a remote ref or a tag is checked out, HEAD is automatically detached. There is no user-friendly way to find out what ref is checked out in this case. This patch digs in reflog for this information and shows "HEAD detached from origin/master" or "HEAD detached at v1.8.0" instead of "currently not on any branch". When it cannot figure out the original ref, it shows an abbreviated SHA-1. "Currently not on any branch" would never display (unless reflog is pruned to near empty that the last checkout entry is lost). Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'wt-status.h')
-rw-r--r--wt-status.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/wt-status.h b/wt-status.h
index 5ddcbf6b17..5cb7df9157 100644
--- a/wt-status.h
+++ b/wt-status.h
@@ -81,12 +81,14 @@ struct wt_status_state {
int bisect_in_progress;
char *branch;
char *onto;
+ char *detached_from;
+ unsigned char detached_sha1[20];
};
void wt_status_prepare(struct wt_status *s);
void wt_status_print(struct wt_status *s);
void wt_status_collect(struct wt_status *s);
-void wt_status_get_state(struct wt_status_state *state);
+void wt_status_get_state(struct wt_status_state *state, int get_detached_from);
void wt_shortstatus_print(struct wt_status *s);
void wt_porcelain_print(struct wt_status *s);