From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Eric Sunshine" <sunshine@sunshineco.com>,
git@vger.kernel.org, "SZEDER Gábor" <szeder.dev@gmail.com>
Subject: [PATCH v2 0/6] completion: improve completion for 'git worktree'
Date: Thu, 19 Dec 2019 16:09:15 +0100 [thread overview]
Message-ID: <20191219150921.5889-1-szeder.dev@gmail.com> (raw)
In-Reply-To: <20191017173501.3198-1-szeder.dev@gmail.com>
Complete paths of working trees and refs for 'git worktree's various
subcommands.
The last two patches do the actual improvements, the first four are
preparatory steps.
Changes since v1:
- Added an in-code comment and clarified the commit message of patch
5/6.
v1: https://public-inbox.org/git/20191017173501.3198-1-szeder.dev@gmail.com/T/#u
SZEDER Gábor (6):
t9902-completion: add tests for the __git_find_on_cmdline() helper
completion: clean up the __git_find_on_cmdline() helper function
completion: return the index of found word from
__git_find_on_cmdline()
completion: simplify completing 'git worktree' subcommands and options
completion: list existing working trees for 'git worktree' subcommands
completion: list paths and refs for 'git worktree add'
contrib/completion/git-completion.bash | 119 +++++++++++++++++++------
t/t9902-completion.sh | 57 ++++++++++++
2 files changed, 150 insertions(+), 26 deletions(-)
Range-diff against v1:
1: bd68b0b64b = 1: b370a97edc t9902-completion: add tests for the __git_find_on_cmdline() helper
2: b5c0312db6 = 2: fb8f1e4840 completion: clean up the __git_find_on_cmdline() helper function
3: 6999b0b8e2 = 3: 47aecb9ac0 completion: return the index of found word from __git_find_on_cmdline()
4: dd38374f2f = 4: 00c5a0f7df completion: simplify completing 'git worktree' subcommands and options
5: 619ff7021c ! 5: 2e4b1b3931 completion: list existing working trees for 'git worktree' subcommands
@@ Commit message
Never list the path of the main working tree, as it cannot be moved,
removed, locked, or unlocked.
- Arguably 'git worktree unlock <TAB>' should only complete locked
- working trees, but 'git worktree list --porcelain' doesn't indicate
- which working trees are locked. So for now it will complete the paths
- of all existing working trees, including non-locked ones as well.
+ Ideally we would only list unlocked working trees for the 'move',
+ 'remove', and 'lock' subcommands, and only locked ones for 'unlock'.
+ Alas, 'git worktree list --porcelain' doesn't indicate which working
+ trees are locked, so for now we'll complete the paths of all existing
+ working trees.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
@@ contrib/completion/git-completion.bash: _git_whatchanged ()
+{
+ local IFS=$'\n'
+ __gitcomp_nl "$(git worktree list --porcelain |
++ # Skip the first entry: it's the path of the main worktree,
++ # which can't be moved, removed, locked, etc.
+ sed -n -e '2,$ s/^worktree //p')"
+}
+
6: 29a32e5d36 = 6: 16a9b5f4b2 completion: list paths and refs for 'git worktree add'
--
2.24.1.982.ga4d4aba446
next prev parent reply other threads:[~2019-12-19 15:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-17 17:34 [PATCH 0/6] completion: improve completion for 'git worktree' SZEDER Gábor
2019-10-17 17:34 ` [PATCH 1/6] t9902-completion: add tests for the __git_find_on_cmdline() helper SZEDER Gábor
2019-10-17 17:34 ` [PATCH 2/6] completion: clean up the __git_find_on_cmdline() helper function SZEDER Gábor
2019-10-17 17:34 ` [PATCH 3/6] completion: return the index of found word from __git_find_on_cmdline() SZEDER Gábor
2019-10-17 17:52 ` Eric Sunshine
2019-10-18 14:37 ` SZEDER Gábor
2019-10-18 21:01 ` Eric Sunshine
2019-12-19 14:39 ` SZEDER Gábor
2019-12-19 14:44 ` SZEDER Gábor
2019-10-17 17:34 ` [PATCH 4/6] completion: simplify completing 'git worktree' subcommands and options SZEDER Gábor
2019-10-17 17:35 ` [PATCH 5/6] completion: list existing working trees for 'git worktree' subcommands SZEDER Gábor
2019-10-17 18:08 ` Eric Sunshine
2019-10-18 15:00 ` SZEDER Gábor
2019-10-18 20:45 ` Eric Sunshine
2019-10-17 17:35 ` [PATCH 6/6] completion: list paths and refs for 'git worktree add' SZEDER Gábor
2019-12-19 15:09 ` SZEDER Gábor [this message]
2019-12-19 15:09 ` [PATCH v2 1/6] t9902-completion: add tests for the __git_find_on_cmdline() helper SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 2/6] completion: clean up the __git_find_on_cmdline() helper function SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 3/6] completion: return the index of found word from __git_find_on_cmdline() SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 4/6] completion: simplify completing 'git worktree' subcommands and options SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 5/6] completion: list existing working trees for 'git worktree' subcommands SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 6/6] completion: list paths and refs for 'git worktree add' SZEDER Gábor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191219150921.5889-1-szeder.dev@gmail.com \
--to=szeder.dev@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).