mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 00:45:18 +03:00
2f3f5f28ea
Previous code was computing hunks then checking if these hunks could be ignored when taking whitespace/blank-lines options in accounts. This approach is simple but fails with hunks containing both whitespace and non-whitespace changes, the whole hunk is emitted while it can be mostly made of whitespace. The new version normalize the whitespaces before hunk generation, and test for blank-lines afterwards.
282 lines
3.9 KiB
Plaintext
282 lines
3.9 KiB
Plaintext
adding foo
|
|
>>> two diffs showing three added lines <<<
|
|
hg diff
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,5 @@
|
|
+
|
|
hello world
|
|
+
|
|
goodbye world
|
|
+
|
|
hg diff -b
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,5 @@
|
|
+
|
|
hello world
|
|
+
|
|
goodbye world
|
|
+
|
|
>>> no diffs <<<
|
|
hg diff -B
|
|
hg diff -Bb
|
|
>>> four diffs showing added space first on the first line <<<
|
|
hg diff
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
+ hello world
|
|
goodbye world
|
|
hg diff -b
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
+ hello world
|
|
goodbye world
|
|
hg diff -B
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
+ hello world
|
|
goodbye world
|
|
hg diff -Bb
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
+ hello world
|
|
goodbye world
|
|
>>> two diffs showing space appended to the first line <<<
|
|
hg diff
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
+hello world
|
|
goodbye world
|
|
hg diff -B
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
+hello world
|
|
goodbye world
|
|
>>> no diffs <<<
|
|
hg diff -b
|
|
hg diff -Bb
|
|
>>> four diffs showing space inserted into "goodbye" <<<
|
|
hg diff
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
hello world
|
|
-goodbye world
|
|
+good bye world
|
|
hg diff -B
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
hello world
|
|
-goodbye world
|
|
+good bye world
|
|
hg diff -b
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
hello world
|
|
-goodbye world
|
|
+good bye world
|
|
hg diff -Bb
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
hello world
|
|
-goodbye world
|
|
+good bye world
|
|
>>> two diffs showing changed whitespace amount in the last line <<<
|
|
hg diff
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
hello world
|
|
-goodbye world
|
|
+goodbye world
|
|
hg diff -B
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
hello world
|
|
-goodbye world
|
|
+goodbye world
|
|
>>> no diffs <<<
|
|
hg diff -b
|
|
hg diff -Bb
|
|
>>> four diffs showing added blank line w/horizontal space <<<
|
|
hg diff
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,3 @@
|
|
hello world
|
|
+
|
|
goodbye world
|
|
hg diff -B
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,3 @@
|
|
hello world
|
|
+
|
|
goodbye world
|
|
hg diff -b
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,3 @@
|
|
hello world
|
|
+
|
|
goodbye world
|
|
hg diff -Bb
|
|
>>> three diffs showing added blank line w/other space <<<
|
|
hg diff
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,3 @@
|
|
-hello world
|
|
-goodbye world
|
|
+hello world
|
|
+
|
|
+goodbye world
|
|
hg diff -B
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,3 @@
|
|
-hello world
|
|
-goodbye world
|
|
+hello world
|
|
+
|
|
+goodbye world
|
|
hg diff -b
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,3 @@
|
|
hello world
|
|
+
|
|
goodbye world
|
|
hg diff -Bb
|
|
>>> four diffs showing changed whitespace <<<
|
|
hg diff
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
-goodbye world
|
|
+helloworld
|
|
+goodbye world
|
|
hg diff -B
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
-goodbye world
|
|
+helloworld
|
|
+goodbye world
|
|
hg diff -b
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
+helloworld
|
|
goodbye world
|
|
hg diff -Bb
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,2 @@
|
|
-hello world
|
|
+helloworld
|
|
goodbye world
|
|
hg diff -w
|
|
>>> five diffs showing changed whitespace <<<
|
|
hg diff
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,5 @@
|
|
-hello world
|
|
-goodbye world
|
|
+helloworld
|
|
+
|
|
+
|
|
+
|
|
+goodbye world
|
|
hg diff -B
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,5 @@
|
|
-hello world
|
|
-goodbye world
|
|
+helloworld
|
|
+
|
|
+
|
|
+
|
|
+goodbye world
|
|
hg diff -b
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,5 @@
|
|
-hello world
|
|
+helloworld
|
|
+
|
|
+
|
|
+
|
|
goodbye world
|
|
hg diff -Bb
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,5 @@
|
|
-hello world
|
|
+helloworld
|
|
+
|
|
+
|
|
+
|
|
goodbye world
|
|
hg diff -w
|
|
diff -r 540c40a65b78 foo
|
|
--- a/foo
|
|
+++ b/foo
|
|
@@ -1,2 +1,5 @@
|
|
hello world
|
|
+
|
|
+
|
|
+
|
|
goodbye world
|
|
hg diff -wB
|