v2 is just a bit better to look at than v1. This is by no means final.
If you think the command name is bad, the default behavior should
change, or something else, speak up. It's still very "RFC".
v2 breaks down the giant patch in v1 and starts adding some changes in
these new commands:
- restore-paths is renamed to checkout-paths. I wrote I didn't like
"checkout" because of completion conflict. But who am I kidding,
I'll use aliases anyway. "-files" instead of "-paths" because we
already have ls-files.
- both commands will not accept no arguments. There is no "git
checkout" equivalent.
- ambiguation rules are now aware that "switch-branch" for example
can't take pathspec...
- the last patch tries to hide "git checkout" away. The command
example updates show how these will be used. Which probably helps
figure better names or defaults for them too
One thing I notice that we often use "git checkout -- <path>" and
rarely "git checkout <tree-ish> -- <path>". Which makes me think
perhaps "git checkout-files" should not use "--" to separate the two.
We'll have this instead
git checkout-files [--from=<tree-ish>] <paths>
Oh and of course I'll be waiting for the new --index from Thomas
before submitting submitting any thing serious for 'next'. We still
have plenty of time.
Nguyễn Thái Ngọc Duy (7):
parse-options: allow parse_options_concat(NULL, options)
checkout: make "opts" in cmd_checkout() a pointer
checkout: move 'confict_style' to checkout_opts
checkout: move dwim_new_local_branch to checkout_opts
checkout: split options[] array in three pieces
checkout: split into switch-branch and checkout-files
Suggest other commands instead of "git checkout"
Documentation/git-branch.txt | 8 +-
Documentation/git-check-ref-format.txt | 2 +-
Documentation/git-format-patch.txt | 2 +-
Documentation/git-merge-base.txt | 2 +-
Documentation/git-rebase.txt | 2 +-
Documentation/git-remote.txt | 2 +-
Documentation/git-rerere.txt | 10 +-
Documentation/git-reset.txt | 18 +-
Documentation/git-revert.txt | 2 +-
Documentation/git-stash.txt | 6 +-
Documentation/gitattributes.txt | 2 +-
Documentation/gitcli.txt | 4 +-
Documentation/gitcore-tutorial.txt | 18 +-
Documentation/giteveryday.txt | 24 +--
Documentation/githooks.txt | 5 +-
Documentation/gittutorial-2.txt | 2 +-
Documentation/gittutorial.txt | 4 +-
Documentation/revisions.txt | 2 +-
Documentation/user-manual.txt | 54 +++---
advice.c | 2 +-
builtin.h | 2 +
builtin/checkout.c | 256 +++++++++++++++++--------
git.c | 2 +
parse-options-cb.c | 2 +-
sha1-name.c | 2 +-
wt-status.c | 2 +-
26 files changed, 271 insertions(+), 166 deletions(-)
--
2.19.1.1327.g328c130451.dirty