Merge branch 'master' into next

By Jeff King (1) and others
* master:
  The seventh batch of topics graduated to 'master'
  config: expand tildes in include.path variable
  git-svn: use platform specific auth providers
This commit is contained in:
Junio C Hamano
2012-04-29 18:01:07 -07:00
2 changed files with 34 additions and 2 deletions

View File

@@ -19,6 +19,9 @@ UI, Workflows & Features
variables with REMOTE_USER and REMOTE_ADDR, but these variables are
now preserved when set.
* "include.path" mechanism of the configuration files learned to
understand "~/path" and "~user/path".
* "git am" learned the "--include" option, which is an opposite of
existing the "--exclude" option.
@@ -47,12 +50,19 @@ Foreign Interface
* "git svn" used to die with unwanted SIGPIPE when talking with HTTP
server that uses keep-alive.
* "git svn" learned to use platform specific authentication
providers, e.g. gnome-keyring, kwallet, etc.
* "git p4" has been moved out of contrib/ area.
Performance
* "git apply" had some memory leaks plugged.
* "git repack" used to write out unreachable objects as loose objects
when repacking, even if such loose objects will immediately pruned
due to its age.
* Setting up a revision traversal with many starting points was
inefficient as these were placed in a date-order priority queue
one-by-one. Now they are collected in the queue unordered first,
@@ -86,6 +96,12 @@ Unless otherwise noted, all the fixes since v1.7.10 in the maintenance
releases are contained in this release (see release notes to them for
details).
* The test scaffolding for git-daemon was flaky.
(merge 46e3581 js/daemon-test-race-fix later to maint).
* The test scaffolding for fast-import was flaky.
(merge 7fb8e16 pw/t5800-import-race-fix later to maint).
* Octopus merge strategy did not reduce heads that are recorded in the
final commit correctly.
(merge 5802f81 jc/merge-reduce-parents-early later to maint).

View File

@@ -5444,7 +5444,7 @@ BEGIN {
}
sub _auth_providers () {
[
my @rv = (
SVN::Client::get_simple_provider(),
SVN::Client::get_ssl_server_trust_file_provider(),
SVN::Client::get_simple_prompt_provider(
@@ -5460,7 +5460,23 @@ sub _auth_providers () {
\&Git::SVN::Prompt::ssl_server_trust),
SVN::Client::get_username_prompt_provider(
\&Git::SVN::Prompt::username, 2)
]
);
# earlier 1.6.x versions would segfault, and <= 1.5.x didn't have
# this function
if ($SVN::Core::VERSION gt '1.6.12') {
my $config = SVN::Core::config_get_config($config_dir);
my ($p, @a);
# config_get_config returns all config files from
# ~/.subversion, auth_get_platform_specific_client_providers
# just wants the config "file".
@a = ($config->{'config'}, undef);
$p = SVN::Core::auth_get_platform_specific_client_providers(@a);
# Insert the return value from
# auth_get_platform_specific_providers
unshift @rv, @$p;
}
\@rv;
}
sub escape_uri_only {