mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
checkout: count and print -m paths separately
Since 0f086e6dca
(checkout: print something when checking out paths -
2018-11-13), this command reports how many paths have been updated
from what source (either from a tree, or from the index). I forget
that there's a third source: when -m is used, the merge conflict is
re-created (granted, also from the index, but it's not a straight copy
from the index).
Count and report unmerged paths separately. There's a bit more update
to avoid reporting:
Recreated X merge conflicts
Updated 0 paths from the index
The second line is unnecessary. Though if there's no conflict
recreation, we still report
Updated 0 paths from the index
to make it clear we're not really doing anything.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3c5883b3c9
commit
1d1f689bef
|
@ -259,7 +259,7 @@ static int checkout_paths(const struct checkout_opts *opts,
|
|||
struct commit *head;
|
||||
int errs = 0;
|
||||
struct lock_file lock_file = LOCK_INIT;
|
||||
int nr_checkouts = 0;
|
||||
int nr_checkouts = 0, nr_unmerged = 0;
|
||||
|
||||
if (opts->track != BRANCH_TRACK_UNSPECIFIED)
|
||||
die(_("'%s' cannot be used with updating paths"), "--track");
|
||||
|
@ -384,13 +384,18 @@ static int checkout_paths(const struct checkout_opts *opts,
|
|||
&state, &nr_checkouts);
|
||||
else if (opts->merge)
|
||||
errs |= checkout_merged(pos, &state,
|
||||
&nr_checkouts);
|
||||
&nr_unmerged);
|
||||
pos = skip_same_name(ce, pos) - 1;
|
||||
}
|
||||
}
|
||||
errs |= finish_delayed_checkout(&state, &nr_checkouts);
|
||||
|
||||
if (opts->count_checkout_paths) {
|
||||
if (nr_unmerged)
|
||||
fprintf_ln(stderr, Q_("Recreated %d merge conflict",
|
||||
"Recreated %d merge conflicts",
|
||||
nr_unmerged),
|
||||
nr_unmerged);
|
||||
if (opts->source_tree)
|
||||
fprintf_ln(stderr, Q_("Updated %d path from %s",
|
||||
"Updated %d paths from %s",
|
||||
|
@ -398,7 +403,7 @@ static int checkout_paths(const struct checkout_opts *opts,
|
|||
nr_checkouts,
|
||||
find_unique_abbrev(&opts->source_tree->object.oid,
|
||||
DEFAULT_ABBREV));
|
||||
else
|
||||
else if (!nr_unmerged || nr_checkouts)
|
||||
fprintf_ln(stderr, Q_("Updated %d path from the index",
|
||||
"Updated %d paths from the index",
|
||||
nr_checkouts),
|
||||
|
|
Loading…
Reference in a new issue