Mercurial > hg
annotate tests/test-dirstate-backup.t @ 41454:d1d3094b54f9
patch: handle 0 context lines (diff.unified=0) when parsing patches
Previously, if there were no context lines, we would just keep updating the
ranges and the hunk, but not actually storing the hunk (just overwriting it each
time). Thus a diff like this:
$ hg diff --config diff.unified=0
diff --git a/bar b/bar
--- a/bar
+++ b/bar
@@ -1,0 +2,1 @@ 1
+change1
@@ -3,0 +5,1 @@ 3
+change2
would come out of the parser like this (change1 is lost):
bar:
@@ -3,0 +5,1 @@ 3
+change2
This had some really weird side effects for things like commit --interactive,
split, etc.
Differential Revision: https://phab.mercurial-scm.org/D5743
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Mon, 28 Jan 2019 18:00:14 -0800 |
parents | c2b30348930f |
children | 8d72e29ad1e0 |
rev | line source |
---|---|
34939
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
1 Set up |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
2 |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
3 $ hg init repo |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
4 $ cd repo |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
5 |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
6 Try to import an empty patch |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
7 |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
8 $ hg import --no-commit - <<EOF |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
9 > EOF |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
10 applying patch from stdin |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
11 abort: stdin: no diffs found |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
12 [255] |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
13 |
34940
c2b30348930f
dirstate: clean up when restoring identical backups
Mark Thomas <mbthomas@fb.com>
parents:
34939
diff
changeset
|
14 No dirstate backups are left behind |
34939
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
15 |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
16 $ ls .hg/dirstate* | sort |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
17 .hg/dirstate |
2c80a864e83e
tests: add a test demonstrating failure to clean up dirstate backups
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
18 |