diff options
Diffstat (limited to 'wt-status.c')
-rw-r--r-- | wt-status.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/wt-status.c b/wt-status.c index 9ff0590122..9f4e0ba9c1 100644 --- a/wt-status.c +++ b/wt-status.c @@ -134,7 +134,7 @@ static void wt_status_print_unmerged_header(struct wt_status *s) status_printf_ln(s, c, _("Unmerged paths:")); if (!advice_status_hints) return; - if (s->in_merge) + if (s->whence != FROM_COMMIT) ; else if (!s->is_initial) status_printf_ln(s, c, _(" (use \"git reset %s <file>...\" to unstage)"), s->reference); @@ -151,7 +151,7 @@ static void wt_status_print_cached_header(struct wt_status *s) status_printf_ln(s, c, _("Changes to be committed:")); if (!advice_status_hints) return; - if (s->in_merge) + if (s->whence != FROM_COMMIT) ; /* NEEDSWORK: use "git reset --unresolve"??? */ else if (!s->is_initial) status_printf_ln(s, c, _(" (use \"git reset %s <file>...\" to unstage)"), s->reference); @@ -397,7 +397,7 @@ static void wt_status_collect_changes_worktree(struct wt_status *s) } rev.diffopt.format_callback = wt_status_collect_changed_cb; rev.diffopt.format_callback_data = s; - rev.prune_data = s->pathspec; + init_pathspec(&rev.prune_data, s->pathspec); run_diff_files(&rev, 0); } @@ -422,20 +422,22 @@ static void wt_status_collect_changes_index(struct wt_status *s) rev.diffopt.detect_rename = 1; rev.diffopt.rename_limit = 200; rev.diffopt.break_opt = 0; - rev.prune_data = s->pathspec; + init_pathspec(&rev.prune_data, s->pathspec); run_diff_index(&rev, 1); } static void wt_status_collect_changes_initial(struct wt_status *s) { + struct pathspec pathspec; int i; + init_pathspec(&pathspec, s->pathspec); for (i = 0; i < active_nr; i++) { struct string_list_item *it; struct wt_status_change_data *d; struct cache_entry *ce = active_cache[i]; - if (!ce_path_match(ce, s->pathspec)) + if (!ce_path_match(ce, &pathspec)) continue; it = string_list_insert(&s->change, ce->name); d = it->util; @@ -450,6 +452,7 @@ static void wt_status_collect_changes_initial(struct wt_status *s) else d->index_status = DIFF_STATUS_ADDED; } + free_pathspec(&pathspec); } static void wt_status_collect_untracked(struct wt_status *s) |