<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/contrib/completion/git-completion.bash, branch v2.13.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.13.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.13.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2017-06-13T20:27:05Z</updated>
<entry>
<title>Merge branch 'rf/completion-config-commit' into maint</title>
<updated>2017-06-13T20:27:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-06-13T20:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e0538abaf7ad330ab639f418e9de82ef8adbe5bb'/>
<id>urn:sha1:e0538abaf7ad330ab639f418e9de82ef8adbe5bb</id>
<content type='text'>
Completion update.

* rf/completion-config-commit:
  completion: add completions for git config commit
</content>
</entry>
<entry>
<title>Merge branch 'tg/stash-push-fixup' into maint</title>
<updated>2017-06-04T01:21:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-06-04T01:21:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5ecbaaf10172c75d6e398abd510a92ad69f7e015'/>
<id>urn:sha1:5ecbaaf10172c75d6e398abd510a92ad69f7e015</id>
<content type='text'>
The shell completion script (in contrib/) learned "git stash" has
a new "push" subcommand.

* tg/stash-push-fixup:
  completion: add git stash push
</content>
</entry>
<entry>
<title>completion: add completions for git config commit</title>
<updated>2017-05-30T04:29:38Z</updated>
<author>
<name>Rikard Falkeborn</name>
<email>rikard.falkeborn@gmail.com</email>
</author>
<published>2017-05-28T12:13:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9ee4aa95dbddddf51a3a0d1b53a6c3df956236e1'/>
<id>urn:sha1:9ee4aa95dbddddf51a3a0d1b53a6c3df956236e1</id>
<content type='text'>
Add missing completions for git config:

* commit.cleanup
* commit.gpgSign
* commit.verbose

Signed-off-by: Rikard Falkeborn &lt;rikard.falkeborn@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>completion: add git stash push</title>
<updated>2017-05-17T03:15:56Z</updated>
<author>
<name>Thomas Gummerer</name>
<email>t.gummerer@gmail.com</email>
</author>
<published>2017-05-16T19:59:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3851e4483f0d62e677703297218c9bb47325806f'/>
<id>urn:sha1:3851e4483f0d62e677703297218c9bb47325806f</id>
<content type='text'>
When introducing git stash push in f5727e26e4 ("stash: introduce push
verb", 2017-02-19), I forgot to add it to the completion code. Add it
now.

Signed-off-by: Thomas Gummerer &lt;t.gummerer@gmail.com&gt;
Reviewed-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/complete-checkout-sans-dwim-remote'</title>
<updated>2017-05-01T05:14:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-05-01T05:14:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b439747bc1074f6f325987d6f2b1a38119d3b863'/>
<id>urn:sha1:b439747bc1074f6f325987d6f2b1a38119d3b863</id>
<content type='text'>
Completion for "git checkout &lt;branch&gt;" that auto-creates the branch
out of a remote tracking branch can now be disabled, as this
completion often gets in the way when completing to checkout an
existing local branch that happens to share the same prefix with
bunch of remote tracking branches.

* jk/complete-checkout-sans-dwim-remote:
  completion: optionally disable checkout DWIM
</content>
</entry>
<entry>
<title>completion: optionally disable checkout DWIM</title>
<updated>2017-04-24T00:46:31Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2017-04-21T20:27:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=60e71bbceae9c81abed60a01449dbcbdc3ec89d6'/>
<id>urn:sha1:60e71bbceae9c81abed60a01449dbcbdc3ec89d6</id>
<content type='text'>
When we complete branch names for "git checkout", we also
complete remote branch names that could trigger the DWIM
behavior. Depending on your workflow and project, this can
be either convenient or annoying.

For instance, my clone of gitster.git contains 74 local
"jk/*" branches, but origin contains another 147. When I
want to checkout a local branch but can't quite remember the
name, tab completion shows me 251 entries. And worse, for a
topic that has been picked up for pu, the upstream branch
name is likely to be similar to mine, leading to a high
probability that I pick the wrong one and accidentally
create a new branch.

This patch adds a way for the user to tell the completion
code not to include DWIM suggestions for checkout. This can
already be done by typing:

  git checkout --no-guess jk/&lt;TAB&gt;

but that's rather cumbersome. The downside, of course, is
that you no longer get completion support when you _do_ want
to invoke the DWIM behavior. But depending on your workflow,
that may not be a big loss (for instance, in git.git I am
much more likely to want to detach, so I'd type "git
checkout origin/jk/&lt;TAB&gt;" anyway).

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Reviewed-by: SZEDER Gábor &lt;szeder.dev@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>completion: expand "push --delete &lt;remote&gt; &lt;ref&gt;" for refs on that &lt;remote&gt;</title>
<updated>2017-04-24T00:30:59Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2017-04-22T17:55:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=723c1d526faaee6fac9b804f4b97b148f450eb5d'/>
<id>urn:sha1:723c1d526faaee6fac9b804f4b97b148f450eb5d</id>
<content type='text'>
Change the completion of "push --delete &lt;remote&gt; &lt;ref&gt;" to complete
refs on that &lt;remote&gt;, not all refs.

Before this cloning git.git and doing "git push --delete origin
p&lt;TAB&gt;" will complete nothing, since a fresh clone of git.git will
have no "pu" branch, whereas origin/p&lt;TAB&gt; will uselessly complete
origin/pu, but fully qualified references aren't accepted by
"--delete".

Now p&lt;TAB&gt; will complete as "pu". The completion of giving --delete
later, e.g. "git push origin --delete p&lt;TAB&gt;" remains unchanged, this
is a bug, but is a general existing limitation of the bash completion,
and not how git-push is documented, so I'm not fixing that case, but
adding a failing TODO test for it.

The testing code was supplied by SZEDER Gábor in
&lt;20170421122832.24617-1-szeder.dev@gmail.com&gt; with minor setup
modifications on my part.

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Reviewed-by: SZEDER Gábor &lt;szeder.dev@gmail.com&gt;
Test-code-by: SZEDER Gábor &lt;szeder.dev@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ab/ref-filter-no-contains'</title>
<updated>2017-04-11T07:21:50Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-04-11T07:21:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d1d3d46146e1256efe8ad2a2bb0dd877a738c07d'/>
<id>urn:sha1:d1d3d46146e1256efe8ad2a2bb0dd877a738c07d</id>
<content type='text'>
"git tag/branch/for-each-ref" family of commands long allowed to
filter the refs by "--contains X" (show only the refs that are
descendants of X), "--merged X" (show only the refs that are
ancestors of X), "--no-merged X" (show only the refs that are not
ancestors of X).  One curious omission, "--no-contains X" (show
only the refs that are not descendants of X) has been added to
them.

* ab/ref-filter-no-contains:
  tag: add tests for --with and --without
  ref-filter: reflow recently changed branch/tag/for-each-ref docs
  ref-filter: add --no-contains option to tag/branch/for-each-ref
  tag: change --point-at to default to HEAD
  tag: implicitly supply --list given another list-like option
  tag: change misleading --list &lt;pattern&gt; documentation
  parse-options: add OPT_NONEG to the "contains" option
  tag: add more incompatibles mode tests
  for-each-ref: partly change &lt;object&gt; to &lt;commit&gt; in help
  tag tests: fix a typo in a test description
  tag: remove a TODO item from the test suite
  ref-filter: add test for --contains on a non-commit
  ref-filter: make combining --merged &amp; --no-merged an error
  tag doc: reword --[no-]merged to talk about commits, not tips
  tag doc: split up the --[no-]merged documentation
  tag doc: move the description of --[no-]merged earlier
</content>
</entry>
<entry>
<title>Merge branch 'sg/completion-ctags'</title>
<updated>2017-03-30T21:07:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-03-30T21:07:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ccf680dea305e0b2bda31a29c37e40e5beb397c8'/>
<id>urn:sha1:ccf680dea305e0b2bda31a29c37e40e5beb397c8</id>
<content type='text'>
Command line completion updates.

* sg/completion-ctags:
  completion: offer ctags symbol names for 'git log -S', '-G' and '-L:'
  completion: extract completing ctags symbol names into helper function
  completion: put matching ctags symbol names directly into COMPREPLY
</content>
</entry>
<entry>
<title>Merge branch 'sg/completion-refs-speedup'</title>
<updated>2017-03-30T21:07:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-03-30T21:07:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bf650608be7cc16fff7e477d9bf518720a16eb05'/>
<id>urn:sha1:bf650608be7cc16fff7e477d9bf518720a16eb05</id>
<content type='text'>
The refs completion for large number of refs has been sped up,
partly by giving up disambiguating ambiguous refs and partly by
eliminating most of the shell processing between 'git for-each-ref'
and 'ls-remote' and Bash's completion facility.

* sg/completion-refs-speedup:
  completion: speed up branch and tag completion
  completion: fill COMPREPLY directly when completing fetch refspecs
  completion: fill COMPREPLY directly when completing refs
  completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery
  completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery
  completion: let 'for-each-ref' strip the remote name from remote branches
  completion: let 'for-each-ref' and 'ls-remote' filter matching refs
  completion: don't disambiguate short refs
  completion: don't disambiguate tags and branches
  completion: support excluding full refs
  completion: support completing fully qualified non-fast-forward refspecs
  completion: support completing full refs after '--option=refs/&lt;TAB&gt;'
  completion: wrap __git_refs() for better option parsing
  completion: remove redundant __gitcomp_nl() options from _git_commit()
</content>
</entry>
</feed>
