Mercurial > hg
annotate tests/test-convert-bzr-ghosts.t @ 18757:1c8e0d6ac3b0 stable
localrepo: always write the filtered phasecache when nodes are destroyed (issue3827)
When the strip command is run, it calls repo.destroyed, which in turn checks if
we read _phasecache, and if we did calls filterunknown on it and flushes the
changes immediately. But in some cases, nothing causes _phasecache to be read,
so we miss out on this and the file remains the same on-disk.
Then a call to invalidate comes, which should refresh _phasecache if it
changed, but it didn't, so it keeps using the old one with the stripped
revision which causes an IndexError.
Test written by Yuya Nishihara.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Sat, 23 Mar 2013 13:34:50 +0200 |
parents | f2719b387380 |
children | 89872688893f |
rev | line source |
---|---|
7053 | 1 |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
2 $ . "$TESTDIR/bzr-definitions" |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
3 $ cat > ghostcreator.py <<EOF |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
4 > import sys |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
5 > from bzrlib import workingtree |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
6 > wt = workingtree.WorkingTree.open('.') |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
7 > |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
8 > message, ghostrev = sys.argv[1:] |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
9 > wt.set_parent_ids(wt.get_parent_ids() + [ghostrev]) |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
10 > wt.commit(message) |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
11 > EOF |
7053 | 12 |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
13 ghost revisions |
7053 | 14 |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
15 $ mkdir test-ghost-revisions |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
16 $ cd test-ghost-revisions |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
17 $ bzr init -q source |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
18 $ cd source |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
19 $ echo content > somefile |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
20 $ bzr add -q somefile |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
21 $ bzr commit -q -m 'Initial layout setup' |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
22 $ echo morecontent >> somefile |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
23 $ python ../../ghostcreator.py 'Commit with ghost revision' ghostrev |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
24 $ cd .. |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
25 $ hg convert source source-hg |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
26 initializing destination source-hg repository |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
27 scanning source... |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
28 sorting... |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
29 converting... |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
30 1 Initial layout setup |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
31 0 Commit with ghost revision |
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
32 $ glog -R source-hg |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12515
diff
changeset
|
33 o 1@source "Commit with ghost revision" files: somefile |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
34 | |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12515
diff
changeset
|
35 o 0@source "Initial layout setup" files: somefile |
12515
b6a784e39ad4
tests: unify test-convert-bzr-ghosts
Matt Mackall <mpm@selenic.com>
parents:
7058
diff
changeset
|
36 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16060
diff
changeset
|
37 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16060
diff
changeset
|
38 $ cd .. |