##// END OF EJS Templates
hgweb: support constructing URLs from an alternate base URL...
hgweb: support constructing URLs from an alternate base URL The web.baseurl config option allows server operators to define a custom URL for hosted content. The way it works today is that hgwebdir parses this config option into URL components then updates the appropriate WSGI environment variables so the request "lies" about its details. For example, SERVER_NAME is updated to reflect the alternate base URL's hostname. The WSGI environment should not be modified because WSGI applications may want to know the original request details (for debugging, etc). This commit teaches our request parser about the existence of an alternate base URL. If defined, the advertised URL and other self-reflected paths will take the alternate base URL into account. The hgweb WSGI application didn't use web.baseurl. But hgwebdir did. We update hgwebdir to alter the environment parsing accordingly. The old code around environment manipulation has been removed. With this change, parserequestfromenv() has grown to a bit unwieldy. Now that practically everyone is using it, it is obvious that there is some unused features that can be trimmed. So look for this in follow-up commits. Differential Revision: https://phab.mercurial-scm.org/D2822

File last commit:

r36432:44c4a38b default
r36916:219b2335 default
Show More
test-diff-unified.t
458 lines | 7.4 KiB | text/troff | Tads3Lexer
/ tests / test-diff-unified.t
Adrian Buehlmann
tests: unify test-diff-unified
r12141 $ hg init repo
$ cd repo
$ cat > a <<EOF
> c
> c
> a
> a
> b
> a
> a
> c
> c
> EOF
$ hg ci -Am adda
adding a
$ cat > a <<EOF
> c
> c
> a
> a
> dd
> a
> a
> c
> c
> EOF
default context
$ hg diff --nodates
diff -r cf9f4ba66af2 a
--- a/a
+++ b/a
@@ -2,7 +2,7 @@
c
a
a
-b
+dd
a
a
c
invalid --unified
$ hg diff --nodates -U foo
abort: diff context lines count must be an integer, not 'foo'
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
tests: unify test-diff-unified
r12141
$ hg diff --nodates -U 2
diff -r cf9f4ba66af2 a
--- a/a
+++ b/a
@@ -3,5 +3,5 @@
a
a
-b
+dd
a
a
$ hg --config diff.unified=2 diff --nodates
diff -r cf9f4ba66af2 a
--- a/a
+++ b/a
@@ -3,5 +3,5 @@
a
a
-b
+dd
a
a
$ hg diff --nodates -U 1
diff -r cf9f4ba66af2 a
--- a/a
+++ b/a
@@ -4,3 +4,3 @@
a
-b
+dd
a
invalid diff.unified
$ hg --config diff.unified=foo diff --nodates
abort: diff context lines count must be an integer, not 'foo'
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
tests: unify test-diff-unified
r12141
Siddharth Agarwal
diff: add a --noprefix option...
r23298 noprefix config and option
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297
$ hg --config diff.noprefix=True diff --nodates
diff -r cf9f4ba66af2 a
Siddharth Agarwal
mdiff.unidiff: add support for noprefix
r23299 --- a
+++ a
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297 @@ -2,7 +2,7 @@
c
a
a
-b
+dd
a
a
c
Siddharth Agarwal
diff: add a --noprefix option...
r23298 $ hg diff --noprefix --nodates
diff -r cf9f4ba66af2 a
Siddharth Agarwal
mdiff.unidiff: add support for noprefix
r23299 --- a
+++ a
Siddharth Agarwal
diff: add a --noprefix option...
r23298 @@ -2,7 +2,7 @@
c
a
a
-b
+dd
a
a
c
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297
Siddharth Agarwal
diff: add a --noprefix option...
r23298 noprefix config disabled in plain mode, but option still enabled
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297
$ HGPLAIN=1 hg --config diff.noprefix=True diff --nodates
diff -r cf9f4ba66af2 a
--- a/a
+++ b/a
@@ -2,7 +2,7 @@
c
a
a
-b
+dd
a
a
c
Siddharth Agarwal
diff: add a --noprefix option...
r23298 $ HGPLAIN=1 hg diff --noprefix --nodates
diff -r cf9f4ba66af2 a
Siddharth Agarwal
mdiff.unidiff: add support for noprefix
r23299 --- a
+++ a
Siddharth Agarwal
diff: add a --noprefix option...
r23298 @@ -2,7 +2,7 @@
c
a
a
-b
+dd
a
a
c
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..
Nicolas Venegas
mdiff/patch: fix bad hunk handling for unified diffs with zero context...
r15462 0 lines of context hunk header matches gnu diff hunk header
$ hg init diffzero
$ cd diffzero
$ cat > f1 << EOF
> c2
> c4
> c5
> EOF
$ hg commit -Am0
adding f1
$ cat > f2 << EOF
> c1
> c2
> c3
> c4
> EOF
$ mv f2 f1
$ hg diff -U0 --nodates
diff -r 55d8ff78db23 f1
--- a/f1
+++ b/f1
@@ -0,0 +1,1 @@
+c1
@@ -1,0 +3,1 @@
+c3
@@ -3,1 +4,0 @@
-c5
Adrian Buehlmann
tests: unify test-diff-unified
r12141
Nicolas Venegas
mdiff/patch: fix bad hunk handling for unified diffs with zero context...
r15462 $ hg diff -U0 --nodates --git
diff --git a/f1 b/f1
--- a/f1
+++ b/f1
@@ -0,0 +1,1 @@
+c1
@@ -1,0 +3,1 @@
+c3
@@ -3,1 +4,0 @@
-c5
$ hg diff -U0 --nodates -p
diff -r 55d8ff78db23 f1
--- a/f1
+++ b/f1
@@ -0,0 +1,1 @@
+c1
@@ -1,0 +3,1 @@ c2
+c3
@@ -3,1 +4,0 @@ c4
-c5
Patrick Mezard
mdiff: fix diff header generation for files with spaces (issue3357)...
r16362
$ echo a > f1
$ hg ci -m movef2
Test diff headers terminating with TAB when necessary (issue3357)
Regular diff --nodates, file creation
$ hg mv f1 'f 1'
$ echo b > 'f 1'
$ hg diff --nodates 'f 1'
diff -r 7574207d0d15 f 1
--- /dev/null
+++ b/f 1
@@ -0,0 +1,1 @@
+b
Git diff, adding space
$ hg diff --git
diff --git a/f1 b/f 1
rename from f1
rename to f 1
--- a/f1
+++ b/f 1
@@ -1,1 +1,1 @@
-a
+b
Sean Farley
patch: use opt.showsimilarity to calculate and show the similarity...
r30807 Git diff, adding extended headers
$ hg diff --git --config experimental.extendedheader.index=7 --config experimental.extendedheader.similarity=True
diff --git a/f1 b/f 1
similarity index 0%
rename from f1
rename to f 1
index 7898192..6178079 100644
--- a/f1
+++ b/f 1
@@ -1,1 +1,1 @@
-a
+b
Yuya Nishihara
patch: check length of git index header only if integer is specified...
r30819 $ hg diff --git --config experimental.extendedheader.index=-1
invalid length for extendedheader.index: '-1'
diff --git a/f1 b/f 1
rename from f1
rename to f 1
--- a/f1
+++ b/f 1
@@ -1,1 +1,1 @@
-a
+b
$ hg diff --git --config experimental.extendedheader.index=whatever
invalid value for extendedheader.index: 'whatever'
diff --git a/f1 b/f 1
rename from f1
rename to f 1
--- a/f1
+++ b/f 1
@@ -1,1 +1,1 @@
-a
+b
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297 Git diff with noprefix
$ hg --config diff.noprefix=True diff --git --nodates
Siddharth Agarwal
patch.trydiff: add support for noprefix
r23300 diff --git f1 f 1
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297 rename from f1
rename to f 1
Siddharth Agarwal
mdiff.unidiff: add support for noprefix
r23299 --- f1
+++ f 1
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297 @@ -1,1 +1,1 @@
-a
+b
Siddharth Agarwal
diff: add a --noprefix option...
r23298 noprefix config disabled in plain mode, but option still enabled
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297
$ HGPLAIN=1 hg --config diff.noprefix=True diff --git --nodates
diff --git a/f1 b/f 1
rename from f1
rename to f 1
--- a/f1
+++ b/f 1
@@ -1,1 +1,1 @@
-a
+b
Siddharth Agarwal
diff: add a --noprefix option...
r23298 $ HGPLAIN=1 hg diff --git --noprefix --nodates
Siddharth Agarwal
patch.trydiff: add support for noprefix
r23300 diff --git f1 f 1
Siddharth Agarwal
diff: add a --noprefix option...
r23298 rename from f1
rename to f 1
Siddharth Agarwal
mdiff.unidiff: add support for noprefix
r23299 --- f1
+++ f 1
Siddharth Agarwal
diff: add a --noprefix option...
r23298 @@ -1,1 +1,1 @@
-a
+b
Siddharth Agarwal
patch.diffopts: add support for noprefix...
r23297
Patrick Mezard
mdiff: fix diff header generation for files with spaces (issue3357)...
r16362 Regular diff --nodates, file deletion
$ hg ci -m addspace
$ hg mv 'f 1' f1
$ echo a > f1
$ hg diff --nodates 'f 1'
diff -r ca50fe67c9c7 f 1
--- a/f 1
+++ /dev/null
@@ -1,1 +0,0 @@
-b
Git diff, removing space
$ hg diff --git
diff --git a/f 1 b/f1
rename from f 1
rename to f1
--- a/f 1
+++ b/f1
@@ -1,1 +1,1 @@
-b
+a
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912
Mathias De Maré
tests: add testing for diff.showfunc...
r24496 showfunc diff
$ cat > f1 << EOF
> int main() {
> int a = 0;
> int b = 1;
> int c = 2;
> int d = 3;
> return a + b + c + d;
> }
> EOF
$ hg commit -m addfunction
$ cat > f1 << EOF
> int main() {
> int a = 0;
> int b = 1;
> int c = 2;
> int e = 3;
> return a + b + c + e;
> }
> EOF
$ hg diff --git
diff --git a/f1 b/f1
--- a/f1
+++ b/f1
@@ -2,6 +2,6 @@
int a = 0;
int b = 1;
int c = 2;
- int d = 3;
- return a + b + c + d;
+ int e = 3;
+ return a + b + c + e;
}
$ hg diff --config diff.showfunc=True --git
diff --git a/f1 b/f1
--- a/f1
+++ b/f1
@@ -2,6 +2,6 @@ int main() {
int a = 0;
int b = 1;
int c = 2;
- int d = 3;
- return a + b + c + d;
+ int e = 3;
+ return a + b + c + e;
}
Augie Fackler
diffopts: notice a negated boolean flag in diffopts...
r29948 If [diff] git is set to true, but the user says --no-git, we should
*not* get git diffs
$ hg diff --nodates --config diff.git=1 --no-git
diff -r f2c7c817fa55 f1
--- a/f1
+++ b/f1
@@ -2,6 +2,6 @@
int a = 0;
int b = 1;
int c = 2;
- int d = 3;
- return a + b + c + d;
+ int e = 3;
+ return a + b + c + e;
}
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..
Yuya Nishihara
diff: do not split function name if character encoding is unknown...
r36432
Long function names should be abbreviated, but multi-byte character shouldn't
be broken up
$ hg init longfunc
$ cd longfunc
>>> with open('a', 'wb') as f:
... f.write(b'a' * 39 + b'bb' + b'\n')
... f.write(b' .\n' * 3)
... f.write(b' 0 b\n')
... f.write(b' .\n' * 3)
... f.write(b'a' * 39 + b'\xc3\xa0' + b'\n')
... f.write(b' .\n' * 3)
... f.write(b' 0 a with grave (single code point)\n')
... f.write(b' .\n' * 3)
... f.write(b'a' * 39 + b'a\xcc\x80' + b'\n')
... f.write(b' .\n' * 3)
... f.write(b' 0 a with grave (composition)\n')
... f.write(b' .\n' * 3)
$ hg ci -qAm0
>>> with open('a', 'wb') as f:
... f.write(b'a' * 39 + b'bb' + b'\n')
... f.write(b' .\n' * 3)
... f.write(b' 1 b\n')
... f.write(b' .\n' * 3)
... f.write(b'a' * 39 + b'\xc3\xa0' + b'\n')
... f.write(b' .\n' * 3)
... f.write(b' 1 a with grave (single code point)\n')
... f.write(b' .\n' * 3)
... f.write(b'a' * 39 + b'a\xcc\x80' + b'\n')
... f.write(b' .\n' * 3)
... f.write(b' 1 a with grave (composition)\n')
... f.write(b' .\n' * 3)
$ hg ci -m1
$ hg diff -c1 --nodates --show-function
diff -r 3e92dd6fa812 -r a256341606cb a
--- a/a
+++ b/a
@@ -2,7 +2,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab
.
.
.
- 0 b
+ 1 b
.
.
.
@@ -10,7 +10,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\xc3\xa0 (esc)
.
.
.
- 0 a with grave (single code point)
+ 1 a with grave (single code point)
.
.
.
@@ -18,7 +18,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\xcc\x80 (esc)
.
.
.
- 0 a with grave (composition)
+ 1 a with grave (composition)
.
.
.
$ cd ..