Mercurial > hg
annotate tests/test-dirstate-backup.t @ 38851:781b2720d2ac
index: don't include nullid in len()
I suspect the reason the nullid is in the index in the last position
is that it lets index[i] for regular revision number, even when index
was just a regular Python list. An alternative solution would have
been to reserve revision number 0 for the null revision. I don't know
why that wasn't done. Now that we have classes backing the index, we
can easily make index[-1] get the nullid without having to put it last
in the list and including it in the len().
This patch just hides the nullid -- it will still be accessible at
index[len(index)].
I realize that this will be annoying when checking out across this
commit for debugging (including bisection).
Differential Revision: https://phab.mercurial-scm.org/D4022
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 20 Jul 2018 08:10:32 -0700 |
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 |