diff --git a/Documentation/config.txt b/Documentation/config.txt index 79d54e546..e75434b3e 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -1734,6 +1734,15 @@ status.submodulesummary:: summary of commits for modified submodules will be shown (see --summary-limit option of linkgit:git-submodule[1]). +submodule..path:: +submodule..url:: +submodule..update:: + The path within this project, URL, and the updating strategy + for a submodule. These variables are initially populated + by 'git submodule init'; edit them to override the + URL and other values found in the `.gitmodules` file. See + linkgit:git-submodule[1] and linkgit:gitmodules[5] for details. + tar.umask:: This variable can be used to restrict the permission bits of tar archive entries. The default is 0002, which turns off the diff --git a/Documentation/gitmodules.txt b/Documentation/gitmodules.txt index 5daf750d1..72a13d18e 100644 --- a/Documentation/gitmodules.txt +++ b/Documentation/gitmodules.txt @@ -29,6 +29,9 @@ submodule..path:: submodule..url:: Defines an url from where the submodule repository can be cloned. + This may be either an absolute URL ready to be passed to + linkgit:git-clone[1] or (if it begins with ./ or ../) a location + relative to the superproject's origin repository. submodule..update:: Defines what to do when the submodule is updated by the superproject. diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 1f611d22d..cedc35731 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1327,8 +1327,7 @@ sub esc_param { sub esc_url { my $str = shift; return undef unless defined $str; - $str =~ s/([^A-Za-z0-9\-_.~();\/;?:@&=])/sprintf("%%%02X", ord($1))/eg; - $str =~ s/\+/%2B/g; + $str =~ s/([^A-Za-z0-9\-_.~();\/;?:@&= ]+)/CGI::escape($1)/eg; $str =~ s/ /\+/g; return $str; }