diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-07-30 13:20:35 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-07-30 13:20:35 -0700 |
commit | be2dab9c801fe28a6937e8d426f891e610a82a49 (patch) | |
tree | 110244fa8330ee5cd0a0ffe30f398a69a83e6aca /builtin | |
parent | Merge branch 'bc/push-cas-cquoted-refname' into master (diff) | |
parent | git-mv: improve error message for conflicted file (diff) | |
download | tgif-be2dab9c801fe28a6937e8d426f891e610a82a49.tar.xz |
Merge branch 'ct/mv-unmerged-path-error' into master
"git mv src dst", when src is an unmerged path, errored out
correctly but with an incorrect error message to claim that src is
not tracked, which has been clarified.
* ct/mv-unmerged-path-error:
git-mv: improve error message for conflicted file
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/mv.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/builtin/mv.c b/builtin/mv.c index be15ba7044..7dac714af9 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -132,6 +132,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix) struct stat st; struct string_list src_for_dst = STRING_LIST_INIT_NODUP; struct lock_file lock_file = LOCK_INIT; + struct cache_entry *ce; git_config(git_default_config, NULL); @@ -220,9 +221,11 @@ int cmd_mv(int argc, const char **argv, const char *prefix) } argc += last - first; } - } else if (cache_name_pos(src, length) < 0) + } else if (!(ce = cache_file_exists(src, length, ignore_case))) { bad = _("not under version control"); - else if (lstat(dst, &st) == 0 && + } else if (ce_stage(ce)) { + bad = _("conflicted"); + } else if (lstat(dst, &st) == 0 && (!ignore_case || strcasecmp(src, dst))) { bad = _("destination exists"); if (force) { |