##// END OF EJS Templates
phabricator: warn if unable to amend, instead of aborting after posting...
phabricator: warn if unable to amend, instead of aborting after posting There was a divergence in behavior here between obsolete and strip based amending. I first noticed the abort when testing outside of the test harness, but then had trouble recreating it here after reverting the code changes. It turns out, strip based amend was successfully amending the public commit after it was posted! It looks like the protection is in the `commit --amend` command, not in the underlying code that it calls. I considered doing a preflight check and aborting. But the locks are only acquired at the end, if amending, and this is too large a section of code to be wrapped in a maybe-it's-held-or-not context manager for my tastes. Additionally, some people do post-push reviews, and amending is the default behavior, so they shouldn't see a misleading error message. The lack of a 'Differential Revision' entry in the commit message breaks a {phabreview} test, so it had to be partially conditionalized.

File last commit:

r37387:22f19da5 default
r41198:0101a35d default
Show More
test-diff-unified.t
458 lines | 7.6 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:
Pulkit Goyal
py3: suppress output from f.write() function class...
r37387 ... f.write(b'a' * 39 + b'bb' + b'\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b' 0 b\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b'a' * 39 + b'\xc3\xa0' + b'\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b' 0 a with grave (single code point)\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b'a' * 39 + b'a\xcc\x80' + b'\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b' 0 a with grave (composition)\n') and None
... f.write(b' .\n' * 3) and None
Yuya Nishihara
diff: do not split function name if character encoding is unknown...
r36432 $ hg ci -qAm0
>>> with open('a', 'wb') as f:
Pulkit Goyal
py3: suppress output from f.write() function class...
r37387 ... f.write(b'a' * 39 + b'bb' + b'\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b' 1 b\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b'a' * 39 + b'\xc3\xa0' + b'\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b' 1 a with grave (single code point)\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b'a' * 39 + b'a\xcc\x80' + b'\n') and None
... f.write(b' .\n' * 3) and None
... f.write(b' 1 a with grave (composition)\n') and None
... f.write(b' .\n' * 3) and None
Yuya Nishihara
diff: do not split function name if character encoding is unknown...
r36432 $ 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 ..