Mercurial > hg
view tests/test-resolve.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 | f3e37409ecd3 |
line wrap: on
line source
test that a commit clears the merge state. $ hg init repo $ cd repo $ echo foo > file $ hg commit -Am 'add file' adding file $ echo bar >> file $ hg commit -Am 'append bar' create a second head $ hg up -C 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo baz >> file $ hg commit -Am 'append baz' created new head failing merge $ hg merge --tool=internal:fail 0 files updated, 0 files merged, 0 files removed, 1 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon [1] $ echo resolved > file $ hg resolve -m file $ hg commit -m 'resolved' resolve -l, should be empty $ hg resolve -l test crashed merge with empty mergestate $ mkdir .hg/merge $ touch .hg/merge/state resolve -l, should be empty $ hg resolve -l $ cd ..