<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/contrib, branch v2.18.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.18.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.18.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2018-06-18T17:18:42Z</updated>
<entry>
<title>Merge branch 'ab/cred-netrc-no-autodie'</title>
<updated>2018-06-18T17:18:42Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-06-18T17:18:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=094381ed79f4f0b67f30502da1202ff627261645'/>
<id>urn:sha1:094381ed79f4f0b67f30502da1202ff627261645</id>
<content type='text'>
Hotfix for contrib/ stuff broken by this cycle.

* ab/cred-netrc-no-autodie:
  git-credential-netrc: remove use of "autodie"
</content>
</entry>
<entry>
<title>Merge branch 'sg/completion-zsh-workaround'</title>
<updated>2018-06-13T19:50:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-06-13T19:50:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4d605b0f38775066be0eaed33c52e0b716035498'/>
<id>urn:sha1:4d605b0f38775066be0eaed33c52e0b716035498</id>
<content type='text'>
Work around zsh segfaulting when loading git-completion.zsh

* sg/completion-zsh-workaround:
  completion: correct zsh detection when run from git-completion.zsh
</content>
</entry>
<entry>
<title>git-credential-netrc: remove use of "autodie"</title>
<updated>2018-06-13T16:49:50Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2018-06-13T07:48:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=627be1538ddcce8f5072b892ce415006034f371f'/>
<id>urn:sha1:627be1538ddcce8f5072b892ce415006034f371f</id>
<content type='text'>
The "autodie" module was added in Perl 5.10.1, but our INSTALL
document says "version 5.8 or later is needed".

As discussed in &lt;87efhfvxzu.fsf@evledraar.gmail.com&gt; this script is in
contrib/, so we might not want to apply that policy, however in this
case "autodie" was recently added as a "gratuitous safeguard" in
786ef50a23 ("git-credential-netrc: accept gpg option",
2018-05-12) (see
&lt;CAHqJXRE8OKSKcck1APHAHccLZhox+tZi8nNu2RA74RErX8s3Pg@mail.gmail.com&gt;).

Looking at it more carefully the addition of "autodie" inadvertently
introduced a logic error, since having it is equivalent to this patch:

    @@ -245,10 +244,10 @@ sub load_netrc {
     	if ($gpgmode) {
     		my @cmd = ($options{'gpg'}, qw(--decrypt), $file);
     		log_verbose("Using GPG to open $file: [@cmd]");
    -		open $io, "-|", @cmd;
    +		open $io, "-|", @cmd or die "@cmd: $!";
     	} else {
     		log_verbose("Opening $file...");
    -		open $io, '&lt;', $file;
    +		open $io, '&lt;', $file or die "$file: $!$!;
     	}

     	# nothing to do if the open failed (we log the error later)

As shown in the context the intent of that code is not do die but to
log the error later.

Per my reading of the file this was the only thing autodie was doing
in this file (there was no other code it altered). So let's remove it,
both to fix the logic error and to get rid of the dependency.

1. &lt;87efhfvxzu.fsf@evledraar.gmail.com&gt;
   (https://public-inbox.org/git/87efhfvxzu.fsf@evledraar.gmail.com/)
2. &lt;CAHqJXRE8OKSKcck1APHAHccLZhox+tZi8nNu2RA74RErX8s3Pg@mail.gmail.com&gt;
   (https://public-inbox.org/git/CAHqJXRE8OKSKcck1APHAHccLZhox+tZi8nNu2RA74RErX8s3Pg@mail.gmail.com/)

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>completion: correct zsh detection when run from git-completion.zsh</title>
<updated>2018-06-12T17:13:44Z</updated>
<author>
<name>SZEDER Gábor</name>
<email>szeder.dev@gmail.com</email>
</author>
<published>2018-06-11T18:20:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=61d48c66ea7ef8acc0dd1114e0f79f4250aead38'/>
<id>urn:sha1:61d48c66ea7ef8acc0dd1114e0f79f4250aead38</id>
<content type='text'>
v2.18.0-rc0~90^2 (completion: reduce overhead of clearing cached
--options, 2018-04-18) worked around a bug in bash's "set" builtin on
MacOS by using compgen instead.  It was careful to avoid breaking zsh
by guarding this workaround with

	if [[ -n ${ZSH_VERSION-}} ]]

Alas, this interacts poorly with git-completion.zsh's bash emulation:

	ZSH_VERSION='' . "$script"

Correct it by instead using a new GIT_SOURCING_ZSH_COMPLETION shell
variable to detect whether git-completion.bash is being sourced from
git-completion.zsh.  This way, the zsh variant is used both when run
from zsh directly and when run via git-completion.zsh.

Reproduction recipe:

 1. cd git/contrib/completion &amp;&amp; cp git-completion.zsh _git
 2. Put the following in a new ~/.zshrc file:

 	autoload -U compinit; compinit
	autoload -U bashcompinit; bashcompinit
	fpath=(~/src/git/contrib/completion $fpath)

 3. Open zsh and "git &lt;TAB&gt;".

With this patch:
Triggers nice git-completion.bash based tab completion

Without:
 contrib/completion/git-completion.bash:354: read-only variable: QISUFFIX
 zsh:12: command not found: ___main
 zsh:15: _default: function definition file not found
 _dispatch:70: bad math expression: operand expected at `/usr/bin/g...'
 Segmentation fault

Reported-by: Rick van Hattem &lt;wolph@wol.ph&gt;
Reported-by: Dave Borowitz &lt;dborowitz@google.com&gt;
Signed-off-by: SZEDER Gábor &lt;szeder.dev@gmail.com&gt;
Signed-off-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 'pa/import-tars-long-names'</title>
<updated>2018-06-01T06:06:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-06-01T06:06:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2bd108ff65031b79d191cfa491fa676ca67e7788'/>
<id>urn:sha1:2bd108ff65031b79d191cfa491fa676ca67e7788</id>
<content type='text'>
The import-tars script (in contrib/) has been taught to handle
tarballs with overly long paths that use PAX extended headers.

* pa/import-tars-long-names:
  import-tars: read overlong names from pax extended header
</content>
</entry>
<entry>
<title>Merge branch 'nd/command-list'</title>
<updated>2018-06-01T06:06:37Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-06-01T06:06:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2289880f784326dc955f213072164539dcaf445e'/>
<id>urn:sha1:2289880f784326dc955f213072164539dcaf445e</id>
<content type='text'>
The list of commands with their various attributes were spread
across a few places in the build procedure, but it now is getting a
bit more consolidated to allow more automation.

* nd/command-list:
  completion: allow to customize the completable command list
  completion: add and use --list-cmds=alias
  completion: add and use --list-cmds=nohelpers
  Move declaration for alias.c to alias.h
  completion: reduce completable command list
  completion: let git provide the completable command list
  command-list.txt: documentation and guide line
  help: use command-list.txt for the source of guides
  help: add "-a --verbose" to list all commands with synopsis
  git: support --list-cmds=list-&lt;category&gt;
  completion: implement and use --list-cmds=main,others
  git --list-cmds: collect command list in a string_list
  git.c: convert --list-* to --list-cmds=*
  Remove common-cmds.h
  help: use command-list.h for common command list
  generate-cmds.sh: export all commands to command-list.h
  generate-cmds.sh: factor out synopsis extract code
</content>
</entry>
<entry>
<title>Merge branch 'lm/credential-netrc'</title>
<updated>2018-05-30T05:04:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-30T05:04:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=017b7c52fc00897c72f6c4808ded43c4c5f9c5b8'/>
<id>urn:sha1:017b7c52fc00897c72f6c4808ded43c4c5f9c5b8</id>
<content type='text'>
Update credential-netrc helper (in contrib/) to allow customizing
the GPG used to decrypt the encrypted .netrc file.

* lm/credential-netrc:
  git-credential-netrc: accept gpg option
  git-credential-netrc: adapt to test framework for git
</content>
</entry>
<entry>
<title>Merge branch 'sg/complete-paths'</title>
<updated>2018-05-30T05:04:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-30T05:04:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4ce72180abe72dbb40f5e6a517deea814014e005'/>
<id>urn:sha1:4ce72180abe72dbb40f5e6a517deea814014e005</id>
<content type='text'>
Command line completion (in contrib/) learned to complete pathnames
for various commands better.

* sg/complete-paths:
  t9902-completion: exercise __git_complete_index_file() directly
  completion: don't return with error from __gitcomp_file_direct()
  completion: fill COMPREPLY directly when completing paths
  completion: improve handling quoted paths in 'git ls-files's output
  completion: remove repeated dirnames with 'awk' during path completion
  t9902-completion: ignore COMPREPLY element order in some tests
  completion: use 'awk' to strip trailing path components
  completion: let 'ls-files' and 'diff-index' filter matching paths
  completion: improve handling quoted paths on the command line
  completion: support completing non-ASCII pathnames
  completion: simplify prefix path component handling during path completion
  completion: move __git_complete_index_file() next to its helpers
  t9902-completion: add tests demonstrating issues with quoted pathnames
</content>
</entry>
<entry>
<title>import-tars: read overlong names from pax extended header</title>
<updated>2018-05-23T23:35:51Z</updated>
<author>
<name>Pedro Alvarez Piedehierro</name>
<email>palvarez89@gmail.com</email>
</author>
<published>2018-05-23T22:54:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=12ecea46e3a7542918efaf595fd866e74d3dba3d'/>
<id>urn:sha1:12ecea46e3a7542918efaf595fd866e74d3dba3d</id>
<content type='text'>
Importing gcc tarballs[1] with import-tars script (in contrib) fails
when hitting a pax extended header.

Make sure we always read the extended attributes from the pax entries,
and store the 'path' value if found to be used in the next ustar entry.

The code to parse pax extended headers was written consulting the Pax
Pax Interchange Format documentation [2].

[1] http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz
[2] https://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+8-current&amp;query=tar&amp;sektion=5

Signed-off-by: Pedro Alvarez &lt;palvarez89@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'fg/completion-external'</title>
<updated>2018-05-23T05:38:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-23T05:38:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fb3a0cabf23ccd1d4ae3fead2c5b478930630822'/>
<id>urn:sha1:fb3a0cabf23ccd1d4ae3fead2c5b478930630822</id>
<content type='text'>
The command line completion mechanism (in contrib/) learned to load
custom completion file for "git $command" where $command is a
custom "git-$command" that the end user has on the $PATH when using
newer version of bash.

* fg/completion-external:
  completion: load completion file for external subcommand
</content>
</entry>
</feed>
