The wt_status_print_updated() and wt_status_print_untracked() routines call setup_revisions() with 'HEAD' being the reference to the tip of the current branch. However, setup_revisions() gets confused if the branch also contains a file named 'HEAD' resulting in a fatal error. The fix is to append the '--' delimiter to the setup_revisions() call so that it knows for sure that the 'HEAD' argument is a revision and not a filename. Signed-off-by: Rocco Rutte <pdmef@xxxxxxx> --- wt-status.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/wt-status.c b/wt-status.c index 7dd6857..7c0dbdb 100644 --- a/wt-status.c +++ b/wt-status.c @@ -154,10 +154,10 @@ void wt_status_print_initial(struct wt_s static void wt_status_print_updated(struct wt_status *s) { struct rev_info rev; - const char *argv[] = { NULL, NULL, NULL }; + const char *argv[] = { NULL, NULL, "--", NULL }; argv[1] = s->reference; init_revisions(&rev, NULL); - setup_revisions(2, argv, &rev, NULL); + setup_revisions(3, argv, &rev, NULL); rev.diffopt.output_format |= DIFF_FORMAT_CALLBACK; rev.diffopt.format_callback = wt_status_print_updated_cb; rev.diffopt.format_callback_data = s; @@ -225,10 +225,10 @@ static void wt_status_print_untracked(co static void wt_status_print_verbose(struct wt_status *s) { struct rev_info rev; - const char *argv[] = { NULL, NULL, NULL }; + const char *argv[] = { NULL, NULL, "--", NULL }; argv[1] = s->reference; init_revisions(&rev, NULL); - setup_revisions(2, argv, &rev, NULL); + setup_revisions(3, argv, &rev, NULL); rev.diffopt.output_format |= DIFF_FORMAT_PATCH; rev.diffopt.detect_rename = 1; run_diff_index(&rev, 1); -- 1.4.3.4.g50f39-dirty - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html