<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/contrib/completion, branch v2.6.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.6.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.6.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-08-31T22:38:50Z</updated>
<entry>
<title>Merge branch 'sg/config-name-only'</title>
<updated>2015-08-31T22:38:50Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-31T22:38:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fc9dfda1be25ab3bb311900c6cfbf59d6b6e224e'/>
<id>urn:sha1:fc9dfda1be25ab3bb311900c6cfbf59d6b6e224e</id>
<content type='text'>
"git config --list" output was hard to parse when values consist of
multiple lines.  "--name-only" option is added to help this.

* sg/config-name-only:
  get_urlmatch: avoid useless strbuf write
  format_config: simplify buffer handling
  format_config: don't init strbuf
  config: restructure format_config() for better control flow
  completion: list variable names reliably with 'git config --name-only'
  config: add '--name-only' option to list only variable names
</content>
</entry>
<entry>
<title>Merge branch 'ep/http-configure-ssl-version'</title>
<updated>2015-08-26T22:45:31Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-26T22:45:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ed070a40072f01aa819f114bf6b35edf0f53cab2'/>
<id>urn:sha1:ed070a40072f01aa819f114bf6b35edf0f53cab2</id>
<content type='text'>
A new configuration variable http.sslVersion can be used to specify
what specific version of SSL/TLS to use to make a connection.

* ep/http-configure-ssl-version:
  http: add support for specifying the SSL version
</content>
</entry>
<entry>
<title>Merge branch 'tb/complete-rebase-i-edit-todo'</title>
<updated>2015-08-19T21:48:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-19T21:48:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=011710a315a5e4157e882880fe77798f8d4adde0'/>
<id>urn:sha1:011710a315a5e4157e882880fe77798f8d4adde0</id>
<content type='text'>
The command-line completion script (in contrib/) has been updated.

* tb/complete-rebase-i-edit-todo:
  completion: offer '--edit-todo' during interactive rebase
</content>
</entry>
<entry>
<title>http: add support for specifying the SSL version</title>
<updated>2015-08-17T17:16:34Z</updated>
<author>
<name>Elia Pinto</name>
<email>gitter.spiros@gmail.com</email>
</author>
<published>2015-08-14T19:37:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=01861cb7a27b948bc0218877311f531f25386691'/>
<id>urn:sha1:01861cb7a27b948bc0218877311f531f25386691</id>
<content type='text'>
Teach git about a new option, "http.sslVersion", which permits one
to specify the SSL version to use when negotiating SSL connections.
The setting can be overridden by the GIT_SSL_VERSION environment
variable.

Signed-off-by: Elia Pinto &lt;gitter.spiros@gmail.com&gt;
Helped-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>completion: list variable names reliably with 'git config --name-only'</title>
<updated>2015-08-10T17:34:40Z</updated>
<author>
<name>SZEDER Gábor</name>
<email>szeder@ira.uka.de</email>
</author>
<published>2015-08-10T09:46:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=905f2036d0975a828f764947384e732c2908d6eb'/>
<id>urn:sha1:905f2036d0975a828f764947384e732c2908d6eb</id>
<content type='text'>
Recenty I created a multi-line branch description with '.' and '='
characters on one of the lines, and noticed that fragments of that line
show up when completing set variable names for 'git config', e.g.:

  $ git config --get branch.b.description
  Branch description to fool the completion script with a
  second line containing dot . and equals = characters.
  $ git config --unset &lt;TAB&gt;
  ...
  second line containing dot . and equals
  ...

The completion script runs 'git config --list' and processes its output
to strip the values and keep only the variable names.  It does so by
looking for lines containing '.' and '=' and outputting everything
before the '=', which was fooled by my multi-line branch description.

A similar issue exists with aliases and pretty format aliases with
multi-line values, but in that case 'git config --get-regexp' is run and
lines in its output are simply stripped after the first space, so
subsequent lines don't even have to contain '.' and '=' to fool the
completion script.

Use the new '--name-only' option added in the previous commit to list
config variable names reliably in both cases, without error-prone post
processing.

Signed-off-by: SZEDER Gábor &lt;szeder@ira.uka.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>config: add '--name-only' option to list only variable names</title>
<updated>2015-08-10T17:33:58Z</updated>
<author>
<name>SZEDER Gábor</name>
<email>szeder@ira.uka.de</email>
</author>
<published>2015-08-10T09:46:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=578625fa918922713a2ecce2b06611e4566778f5'/>
<id>urn:sha1:578625fa918922713a2ecce2b06611e4566778f5</id>
<content type='text'>
'git config' can only show values or name-value pairs, so if a shell
script needs the names of set config variables it has to run 'git config
--list' or '--get-regexp' and parse the output to separate config
variable names from their values.  However, such a parsing can't cope
with multi-line values.  Though 'git config' can produce null-terminated
output for newline-safe parsing, that's of no use in such a case, becase
shells can't cope with null characters.

Even our own bash completion script suffers from these issues.

Help the completion script, and shell scripts in general, by introducing
the '--name-only' option to modify the output of '--list' and
'--get-regexp' to list only the names of config variables, so they don't
have to perform error-prone post processing to separate variable names
from their values anymore.

Signed-off-by: SZEDER Gábor &lt;szeder@ira.uka.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>completion: offer '--edit-todo' during interactive rebase</title>
<updated>2015-08-05T20:35:36Z</updated>
<author>
<name>Thomas Braun</name>
<email>thomas.braun@virtuell-zuhause.de</email>
</author>
<published>2015-08-05T13:40:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=09bb6520d416a0d0d91ca646dae2d23d91c95ba8'/>
<id>urn:sha1:09bb6520d416a0d0d91ca646dae2d23d91c95ba8</id>
<content type='text'>
Helped-by: John Keeping &lt;john@keeping.me.uk&gt;
Helped-by: SZEDER Gábor &lt;szeder@ira.uka.de&gt;
Signed-off-by: Thomas Braun &lt;thomas.braun@virtuell-zuhause.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sg/bash-prompt-untracked-optim'</title>
<updated>2015-08-03T18:01:26Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-03T18:01:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=461c119739389430e9f978426f25a12690a1831c'/>
<id>urn:sha1:461c119739389430e9f978426f25a12690a1831c</id>
<content type='text'>
Optimize computation of untracked status indicator by bash prompt
script (in contrib/).

* sg/bash-prompt-untracked-optim:
  bash prompt: faster untracked status indicator with untracked directories
  bash prompt: test untracked files status indicator with untracked dirs
</content>
</entry>
<entry>
<title>bash prompt: faster untracked status indicator with untracked directories</title>
<updated>2015-07-20T20:08:56Z</updated>
<author>
<name>SZEDER Gábor</name>
<email>szeder@ira.uka.de</email>
</author>
<published>2015-07-19T11:28:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dd160d794f0bf02c30d2e5032e216b1e8ac14222'/>
<id>urn:sha1:dd160d794f0bf02c30d2e5032e216b1e8ac14222</id>
<content type='text'>
If the untracked status indicator is enabled, __git_ps1() looks for
untracked files by running 'git ls-files'.  This can be perceptibly slow
in case of an untracked directory containing lot of files, because it
lists all files found in the untracked directory only to be redirected
into /dev/null right away (this is the actual command run by __git_ps1()):

  $ ls untracked-dir/ |wc -l
  100000
  $ time git ls-files --others --exclude-standard --error-unmatch \
    -- ':/*' &gt;/dev/null 2&gt;/dev/null

  real	0m0.955s
  user	0m0.936s
  sys	0m0.016s

Eliminate this delay by additionally passing the '--directory
--no-empty-directory' options to 'git ls-files' to show only the name of
non-empty untracked directories instead of all their content:

  $ time git ls-files --others --exclude-standard --directory \
    --no-empty-directory --error-unmatch -- ':/*' &gt;/dev/null 2&gt;/dev/null

  real	0m0.010s
  user	0m0.008s
  sys	0m0.000s

This follows suit of ea95c7b8f5 (completion: improve untracked directory
filtering for filename completion, 2013-09-18).

Signed-off-by: SZEDER Gábor &lt;szeder@ira.uka.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/prompt-document-ps1-state-separator' into maint</title>
<updated>2015-07-15T18:41:26Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-07-15T18:41:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=51d5980ea019a28b38d2f9612314daf3ea536e82'/>
<id>urn:sha1:51d5980ea019a28b38d2f9612314daf3ea536e82</id>
<content type='text'>
Docfix.

* jc/prompt-document-ps1-state-separator:
  git-prompt.sh: document GIT_PS1_STATESEPARATOR
</content>
</entry>
</feed>
