git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
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


  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).