merge(3p/git): Merge git subtree at v2.29.2

This also bumps the stable nixpkgs to 20.09 as of 2020-11-21, because
there is some breakage in the git build related to the netrc
credentials helper which someone has taken care of in nixpkgs.

The stable channel is not used for anything other than git, so this
should be fine.

Change-Id: I3575a19dab09e1e9556cf8231d717de9890484fb
This commit is contained in:
Vincent Ambo 2020-11-21 19:20:35 +01:00
parent 082c006c04
commit f4609b896f
1485 changed files with 241535 additions and 109418 deletions

View file

@ -563,7 +563,7 @@ sub get_record {
Query user C<PROMPT> and return answer from user.
Honours GIT_ASKPASS and SSH_ASKPASS environment variables for querying
the user. If no *_ASKPASS variable is set or an error occoured,
the user. If no *_ASKPASS variable is set or an error occurred,
the terminal is tried as a fallback.
If C<ISPASSWORD> is set and true, the terminal disables echo.
@ -723,6 +723,32 @@ sub config_int {
return scalar _config_common({'kind' => '--int'}, @_);
}
=item config_regexp ( RE )
Retrieve the list of configuration key names matching the regular
expression C<RE>. The return value is a list of strings matching
this regex.
=cut
sub config_regexp {
my ($self, $regex) = _maybe_self(@_);
try {
my @cmd = ('config', '--name-only', '--get-regexp', $regex);
unshift @cmd, $self if $self;
my @matches = command(@cmd);
return @matches;
} catch Git::Error::Command with {
my $E = shift;
if ($E->value() == 1) {
my @matches = ();
return @matches;
} else {
throw $E;
}
};
}
# Common subroutine to implement bulk of what the config* family of methods
# do. This currently wraps command('config') so it is not so fast.
sub _config_common {