Compare commits
11 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70460985dc | ||
|
|
c3925e9020 | ||
|
|
9b9ee67680 | ||
|
|
17707f6881 | ||
|
|
9c56bf77d4 | ||
|
|
14c9be384d | ||
|
|
0020a55dfc | ||
|
|
42e612ad51 | ||
|
|
fe0c2cc059 | ||
|
|
fec99d5451 | ||
|
|
91c5201da5 |
4 changed files with 7 additions and 95 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,3 +1,4 @@
|
||||||
git-1.7.2.1.tar.bz2
|
git-1.7.2.1.tar.bz2
|
||||||
/git-1.7.2.2.tar.bz2
|
/git-1.7.2.2.tar.bz2
|
||||||
/git-1.7.2.3.tar.bz2
|
/git-1.7.2.3.tar.bz2
|
||||||
|
/git-1.7.3.4.tar.bz2
|
||||||
|
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
commit 730220de8be669257287e9a1f5dde349ace5426a
|
|
||||||
Author: Thomas Rast <trast@student.ethz.ch>
|
|
||||||
Date: Sat Jul 24 16:49:04 2010 +0200
|
|
||||||
|
|
||||||
Do not unquote + into ' ' in URLs
|
|
||||||
|
|
||||||
Since 9d2e942 (decode file:// and ssh:// URLs, 2010-05-23) the URL
|
|
||||||
logic unquotes escaped URLs. For the %2B type of escape, this is
|
|
||||||
conformant with RFC 2396. However, it also unquotes + into a space
|
|
||||||
character, which is only appropriate for the query strings in HTTP.
|
|
||||||
This notably broke fetching from the gtk+ repository.
|
|
||||||
|
|
||||||
We cannot just remove the corresponding code since the same
|
|
||||||
url_decode_internal() is also used by the HTTP backend to decode query
|
|
||||||
parameters. Introduce a new argument that controls whether the +
|
|
||||||
decoding happens, and use it only in the (client-side) url_decode().
|
|
||||||
|
|
||||||
Reported-by: Jasper St. Pierre <jstpierre@mecheye.net>
|
|
||||||
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
|
|
||||||
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
||||||
|
|
||||||
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
|
|
||||||
index 8abb71a..4431dfd 100755
|
|
||||||
--- a/t/t5601-clone.sh
|
|
||||||
+++ b/t/t5601-clone.sh
|
|
||||||
@@ -178,8 +178,14 @@ test_expect_success 'clone respects global branch.autosetuprebase' '
|
|
||||||
|
|
||||||
test_expect_success 'respect url-encoding of file://' '
|
|
||||||
git init x+y &&
|
|
||||||
- test_must_fail git clone "file://$PWD/x+y" xy-url &&
|
|
||||||
- git clone "file://$PWD/x%2By" xy-url
|
|
||||||
+ git clone "file://$PWD/x+y" xy-url-1 &&
|
|
||||||
+ git clone "file://$PWD/x%2By" xy-url-2
|
|
||||||
+'
|
|
||||||
+
|
|
||||||
+test_expect_success 'do not query-string-decode + in URLs' '
|
|
||||||
+ rm -rf x+y &&
|
|
||||||
+ git init "x y" &&
|
|
||||||
+ test_must_fail git clone "file://$PWD/x+y" xy-no-plus
|
|
||||||
'
|
|
||||||
|
|
||||||
test_expect_success 'do not respect url-encoding of non-url path' '
|
|
||||||
diff --git a/url.c b/url.c
|
|
||||||
index 2306236..cd8f74f 100644
|
|
||||||
--- a/url.c
|
|
||||||
+++ b/url.c
|
|
||||||
@@ -67,7 +67,8 @@ static int url_decode_char(const char *q)
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static char *url_decode_internal(const char **query, const char *stop_at, struct strbuf *out)
|
|
||||||
+static char *url_decode_internal(const char **query, const char *stop_at,
|
|
||||||
+ struct strbuf *out, int decode_plus)
|
|
||||||
{
|
|
||||||
const char *q = *query;
|
|
||||||
|
|
||||||
@@ -90,7 +91,7 @@ static char *url_decode_internal(const char **query, const char *stop_at, struct
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (c == '+')
|
|
||||||
+ if (decode_plus && c == '+')
|
|
||||||
strbuf_addch(out, ' ');
|
|
||||||
else
|
|
||||||
strbuf_addch(out, c);
|
|
||||||
@@ -110,17 +111,17 @@ char *url_decode(const char *url)
|
|
||||||
strbuf_add(&out, url, colon - url);
|
|
||||||
url = colon;
|
|
||||||
}
|
|
||||||
- return url_decode_internal(&url, NULL, &out);
|
|
||||||
+ return url_decode_internal(&url, NULL, &out, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *url_decode_parameter_name(const char **query)
|
|
||||||
{
|
|
||||||
struct strbuf out = STRBUF_INIT;
|
|
||||||
- return url_decode_internal(query, "&=", &out);
|
|
||||||
+ return url_decode_internal(query, "&=", &out, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *url_decode_parameter_value(const char **query)
|
|
||||||
{
|
|
||||||
struct strbuf out = STRBUF_INIT;
|
|
||||||
- return url_decode_internal(query, "&", &out);
|
|
||||||
+ return url_decode_internal(query, "&", &out, 1);
|
|
||||||
}
|
|
||||||
13
git.spec
13
git.spec
|
|
@ -6,7 +6,7 @@
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: git
|
Name: git
|
||||||
Version: 1.7.2.3
|
Version: 1.7.3.4
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Fast Version Control System
|
Summary: Fast Version Control System
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
|
|
@ -23,9 +23,6 @@ Patch0: git-1.5-gitweb-home-link.patch
|
||||||
Patch1: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch
|
Patch1: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch
|
||||||
# https://bugzilla.redhat.com/500137
|
# https://bugzilla.redhat.com/500137
|
||||||
Patch2: git-1.6-update-contrib-hooks-path.patch
|
Patch2: git-1.6-update-contrib-hooks-path.patch
|
||||||
# Do not unquote + into ' ' in URLs
|
|
||||||
# cherry-picked from upstream
|
|
||||||
Patch3: git-1.7.2.1-730220de.patch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
|
|
@ -230,7 +227,6 @@ Requires: emacs-git = %{version}-%{release}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
|
||||||
|
|
||||||
# Use these same options for every invocation of 'make'.
|
# Use these same options for every invocation of 'make'.
|
||||||
# Otherwise it will rebuild in %%install due to flags changes.
|
# Otherwise it will rebuild in %%install due to flags changes.
|
||||||
|
|
@ -458,6 +454,10 @@ rm -rf %{buildroot}
|
||||||
# No files for you!
|
# No files for you!
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Dec 16 2010 Adam Tkac <atkac redhat com> - 1.7.3.4-1
|
||||||
|
- update to 1.7.3.4
|
||||||
|
- git-1.7.2.1-730220de.patch merged
|
||||||
|
|
||||||
* Tue Sep 07 2010 Adam Tkac <atkac redhat com> - 1.7.2.3-1
|
* Tue Sep 07 2010 Adam Tkac <atkac redhat com> - 1.7.2.3-1
|
||||||
- update to 1.7.2.3
|
- update to 1.7.2.3
|
||||||
|
|
||||||
|
|
@ -476,9 +476,6 @@ rm -rf %{buildroot}
|
||||||
* Fri Jul 02 2010 Adam Tkac <atkac redhat com> - 1.7.1.1-1
|
* Fri Jul 02 2010 Adam Tkac <atkac redhat com> - 1.7.1.1-1
|
||||||
- update to 1.7.1.1
|
- update to 1.7.1.1
|
||||||
|
|
||||||
* Fri Jun 25 2010 Adam Tkac <atkac redhat com> - 1.7.1-2
|
|
||||||
- rebuild against new perl
|
|
||||||
|
|
||||||
* Tue May 04 2010 Todd Zullinger <tmz@pobox.com> - 1.7.1-1
|
* Tue May 04 2010 Todd Zullinger <tmz@pobox.com> - 1.7.1-1
|
||||||
- git-1.7.1
|
- git-1.7.1
|
||||||
- Fix conditionals for EL-6
|
- Fix conditionals for EL-6
|
||||||
|
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
d88c06f6442156686deb4b4fbab0954c git-1.7.2.3.tar.bz2
|
3a2602016f98c529cda7b9fad1a6e216 git-1.7.3.4.tar.bz2
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue