diff options
| author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2019-12-21 21:57:14 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2019-12-21 16:06:22 -0800 |
| commit | 52628f94fc35f57f0b3c54e4f849e490bfa44449 (patch) | |
| tree | cd1bf248d529e9f6e609b1cf3c1c985cbe7bd2c0 /builtin/add.c | |
| parent | 6610e4628ac12396efc20201fe85d67591bed247 (diff) | |
| download | git-52628f94fc35f57f0b3c54e4f849e490bfa44449.tar.gz | |
built-in add -p: implement the "checkout" patch modes
This patch teaches the built-in `git add -p` machinery all the tricks it
needs to know in order to act as the work horse for `git checkout -p`.
Apart from the minor changes (slightly reworded messages, different
`diff` and `apply --check` invocations), it requires a new function to
actually apply the changes, as `git checkout -p` is a bit special in
that respect: when the desired changes do not apply to the index, but
apply to the work tree, Git does not fail straight away, but asks the
user whether to apply the changes to the worktree at least.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/add.c')
| -rw-r--r-- | builtin/add.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/builtin/add.c b/builtin/add.c index fa8bf6b10a..191856b036 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -206,9 +206,10 @@ int run_add_interactive(const char *revision, const char *patch_mode, mode = ADD_P_STASH; else if (!strcmp(patch_mode, "--patch=reset")) mode = ADD_P_RESET; + else if (!strcmp(patch_mode, "--patch=checkout")) + mode = ADD_P_CHECKOUT; else - die("'%s' not yet supported in the built-in add -p", - patch_mode); + die("'%s' not supported", patch_mode); return !!run_add_p(the_repository, mode, revision, pathspec); } |
