diff options
Diffstat (limited to 'builtin/commit.c')
-rw-r--r-- | builtin/commit.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/builtin/commit.c b/builtin/commit.c index e1af9b19f0..776fa81f74 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -256,8 +256,10 @@ static int list_paths(struct string_list *list, const char *with_tree, ; m = xcalloc(1, i); - if (with_tree) - overlay_tree_on_cache(with_tree, prefix); + if (with_tree) { + const char *max_prefix = pathspec_prefix(prefix, pattern); + overlay_tree_on_cache(with_tree, max_prefix); + } for (i = 0; i < active_nr; i++) { struct cache_entry *ce = active_cache[i]; @@ -272,7 +274,7 @@ static int list_paths(struct string_list *list, const char *with_tree, item->util = item; /* better a valid pointer than a fake one */ } - return report_path_error(m, pattern, prefix ? strlen(prefix) : 0); + return report_path_error(m, pattern, prefix); } static void add_remove_files(struct string_list *list) |