Mercurial > hg
view tests/test-issue522 @ 6297:fed1a9c22076
dirstate.remove: during merges, remember the previous file state
We encode the previous state as a negative file size (AFAICS, previous
versions of hg always have size == 0 when state == 'r').
We save the state of 'm'erged and dirty files, because they're the
two states that indicate that a file has to be committed on a merge
to correctly record per-file history.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Tue, 18 Mar 2008 04:07:39 -0300 |
parents | 90d9ec0dc69d |
children | 6c82beaaa11a |
line wrap: on
line source
#!/bin/sh # In the merge below, the file "foo" has the same contents in both # parents, but if we look at the file-level history, we'll notice that # the version in p1 is an ancestor of the version in p2. This test # makes sure that we'll use the version from p2 in the manifest of the # merge revision. hg init repo cd repo echo foo > foo hg ci -d '0 0' -qAm 'add foo' echo bar >> foo hg ci -d '0 0' -m 'change foo' hg backout -d '0 0' -r tip -m 'backout changed foo' hg up -C 0 touch bar hg ci -d '0 0' -qAm 'add bar' hg merge --debug hg debugstate | grep foo hg st -A foo hg ci -d '0 0' -m 'merge' hg manifest --debug | grep foo hg debugindex .hg/store/data/foo.i