diff options
| author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2018-05-27 10:38:27 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2018-05-29 13:28:47 +0900 |
| commit | 3fe735e723102b631a5509dc5f2ce835616d92e7 (patch) | |
| tree | 6e30e6a023ee69130f0b1e81f67cbe2968c7d46e | |
| parent | 2b1c01d22ef280ef3a6efd70db2b9aa58359ee36 (diff) | |
| download | git-3fe735e723102b631a5509dc5f2ce835616d92e7.tar.gz | |
completion: suppress some -no- options
Most --no- options do have some use, even if rarely to negate some
option that's specified in an alias.
These options --no-ours and --no-theirs however have no clear
semantics. If I specify "--ours --no-theirs", the second will reset
writeout stage and is equivalent of "--no-ours --no-theirs" which is
not that easy to see. Drop them. You can either switch from --ours to
--theirs and back but you can never negate them.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | builtin/checkout.c | 10 | ||||
| -rwxr-xr-x | t/t9902-completion.sh | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c index 2b3b768eff..c7670dbbfe 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -1119,10 +1119,12 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) OPT_SET_INT('t', "track", &opts.track, N_("set upstream info for new branch"), BRANCH_TRACK_EXPLICIT), OPT_STRING(0, "orphan", &opts.new_orphan_branch, N_("new-branch"), N_("new unparented branch")), - OPT_SET_INT('2', "ours", &opts.writeout_stage, N_("checkout our version for unmerged files"), - 2), - OPT_SET_INT('3', "theirs", &opts.writeout_stage, N_("checkout their version for unmerged files"), - 3), + OPT_SET_INT_F('2', "ours", &opts.writeout_stage, + N_("checkout our version for unmerged files"), + 2, PARSE_OPT_NONEG), + OPT_SET_INT_F('3', "theirs", &opts.writeout_stage, + N_("checkout their version for unmerged files"), + 3, PARSE_OPT_NONEG), OPT__FORCE(&opts.force, N_("force checkout (throw away local modifications)"), PARSE_OPT_NOCOMPLETE), OPT_BOOL('m', "merge", &opts.merge, N_("perform a 3-way merge with the new branch")), diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh index 07c3e3b760..7e5e3ad5b1 100755 --- a/t/t9902-completion.sh +++ b/t/t9902-completion.sh @@ -1245,9 +1245,7 @@ test_expect_success 'double dash "git checkout"' ' --orphan=Z --no-orphan Z --ours Z - --no-ours Z --theirs Z - --no-theirs Z --merge Z --no-merge Z --conflict=Z |
