diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2013-03-13 18:42:52 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-03-16 22:11:02 -0700 |
commit | b397ea4863a143e97cb9da76c6c18cc555537d64 (patch) | |
tree | 3b3c8fdaca654e980e4dc108b0d8674c4220c9fa /wt-status.h | |
parent | 3b691cccb02e660002a7ff414ad21ddac932dc6c (diff) | |
download | git-b397ea4863a143e97cb9da76c6c18cc555537d64.tar.gz git-b397ea4863a143e97cb9da76c6c18cc555537d64.tar.xz |
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.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/wt-status.h b/wt-status.h index 5ddcbf6b1..5cb7df915 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); |