Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-rename-merge2.out @ 5378:8a2915f57dfc
convert: add a mode where mercurial_sink skips empty revisions.
The getchanges function of some converter_source classes can return
some false positives. I.e. they sometimes claim that a file "foo"
was changed in some revision, even though its contents are still the
same.
convert_svn is particularly bad, but I think this can also happen with
convert_cvs and, at least in theory, with mercurial_source.
For regular conversions this is not really a problem - as long as
getfile returns the right contents, we'll get a converted revision
with the right contents. But when we use --filemap, this could lead
to superfluous revisions being converted.
Instead of fixing every converter_source, I decided to change
mercurial_sink to work around this problem.
When --filemap is used, we're interested only in revisions that touch
some specific files. If a revision doesn't change any of these files,
then we're not interested in it (at least for revisions with a single
parent; merges are special).
For mercurial_sink, we abuse this property and rollback a commit if
the manifest text hasn't changed. This avoids duplicating the logic
from localrepo.filecommit to detect unchanged files.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Thu, 04 Oct 2007 23:21:37 -0300 |
parents | f191bc3916f7 |
children | 4b6f0aa568e5 |
line wrap: on
line source
-------------- test L:up a R:nc a b W: - 1 get local a to b -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local e300d1c794ec+ remote 735846fee2d7 rev: versions differ -> m a: remote copied to b -> m copying a to b merging a and b my a@e300d1c794ec+ other b@735846fee2d7 ancestor a@924404dff337 merging rev my rev@e300d1c794ec+ other rev@735846fee2d7 ancestor rev@924404dff337 0 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b a C a -------------- -------------- test L:nc a b R:up a W: - 2 get rem change to a and b -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ac809aeed39a+ remote f4db7e329e71 a: remote is newer -> g b: local copied to a -> m rev: versions differ -> m getting a merging b and a my b@ac809aeed39a+ other a@f4db7e329e71 ancestor a@924404dff337 merging rev my rev@ac809aeed39a+ other rev@f4db7e329e71 ancestor rev@924404dff337 1 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M a M b a -------------- -------------- test L:up a R:nm a b W: - 3 get local a change to b, remove a -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local e300d1c794ec+ remote e03727d2d66b rev: versions differ -> m a: remote moved to b -> m copying a to b merging a and b my a@e300d1c794ec+ other b@e03727d2d66b ancestor a@924404dff337 removing a merging rev my rev@e300d1c794ec+ other rev@e03727d2d66b ancestor rev@924404dff337 0 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b a -------------- -------------- test L:nm a b R:up a W: - 4 get remote change to b -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ecf3cb2a4219+ remote f4db7e329e71 b: local moved to a -> m rev: versions differ -> m merging b and a my b@ecf3cb2a4219+ other a@f4db7e329e71 ancestor a@924404dff337 merging rev my rev@ecf3cb2a4219+ other rev@f4db7e329e71 ancestor rev@924404dff337 0 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b a -------------- -------------- test L: R:nc a b W: - 5 get b -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local 94b33a1b7f2d+ remote 735846fee2d7 rev: versions differ -> m b: remote created -> g getting b merging rev my rev@94b33a1b7f2d+ other rev@735846fee2d7 ancestor rev@924404dff337 1 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b C a -------------- -------------- test L:nc a b R: W: - 6 nothing -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ac809aeed39a+ remote 97c705ade336 rev: versions differ -> m merging rev my rev@ac809aeed39a+ other rev@97c705ade336 ancestor rev@924404dff337 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- C a C b -------------- -------------- test L: R:nm a b W: - 7 get b -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local 94b33a1b7f2d+ remote e03727d2d66b a: other deleted -> r rev: versions differ -> m b: remote created -> g removing a getting b merging rev my rev@94b33a1b7f2d+ other rev@e03727d2d66b ancestor rev@924404dff337 1 files updated, 1 files merged, 1 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b -------------- -------------- test L:nm a b R: W: - 8 nothing -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ecf3cb2a4219+ remote 97c705ade336 rev: versions differ -> m merging rev my rev@ecf3cb2a4219+ other rev@97c705ade336 ancestor rev@924404dff337 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- C b -------------- -------------- test L:um a b R:um a b W: - 9 do merge with ancestor in a -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ec03c2ca8642+ remote 79cc6877a3b7 b: versions differ -> m rev: versions differ -> m merging b my b@ec03c2ca8642+ other b@79cc6877a3b7 ancestor a@924404dff337 merging rev my rev@ec03c2ca8642+ other rev@79cc6877a3b7 ancestor rev@924404dff337 0 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b -------------- -------------- test L:nm a b R:nm a c W: - 11 get c, keep b -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ecf3cb2a4219+ remote e6abcc1a30c2 a: divergent renames -> dr rev: versions differ -> m c: remote created -> g warning: detected divergent renames of a to: b c getting c merging rev my rev@ecf3cb2a4219+ other rev@e6abcc1a30c2 ancestor rev@924404dff337 1 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M c C b -------------- -------------- test L:nc a b R:up b W: - 12 merge b no ancestor -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ac809aeed39a+ remote af30c7647fc7 b: versions differ -> m rev: versions differ -> m merging b my b@ac809aeed39a+ other b@af30c7647fc7 ancestor b@000000000000 merging rev my rev@ac809aeed39a+ other rev@af30c7647fc7 ancestor rev@924404dff337 0 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b C a -------------- -------------- test L:up b R:nm a b W: - 13 merge b no ancestor -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local 59318016310c+ remote e03727d2d66b a: other deleted -> r b: versions differ -> m rev: versions differ -> m removing a merging b my b@59318016310c+ other b@e03727d2d66b ancestor b@000000000000 merging rev my rev@59318016310c+ other rev@e03727d2d66b ancestor rev@924404dff337 0 files updated, 2 files merged, 1 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b -------------- -------------- test L:nc a b R:up a b W: - 14 merge b no ancestor -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ac809aeed39a+ remote 8dbce441892a a: remote is newer -> g b: versions differ -> m rev: versions differ -> m getting a merging b my b@ac809aeed39a+ other b@8dbce441892a ancestor b@000000000000 merging rev my rev@ac809aeed39a+ other rev@8dbce441892a ancestor rev@924404dff337 1 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M a M b -------------- -------------- test L:up b R:nm a b W: - 15 merge b no ancestor, remove a -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local 59318016310c+ remote e03727d2d66b a: other deleted -> r b: versions differ -> m rev: versions differ -> m removing a merging b my b@59318016310c+ other b@e03727d2d66b ancestor b@000000000000 merging rev my rev@59318016310c+ other rev@e03727d2d66b ancestor rev@924404dff337 0 files updated, 2 files merged, 1 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b -------------- -------------- test L:nc a b R:up a b W: - 16 get a, merge b no ancestor -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ac809aeed39a+ remote 8dbce441892a a: remote is newer -> g b: versions differ -> m rev: versions differ -> m getting a merging b my b@ac809aeed39a+ other b@8dbce441892a ancestor b@000000000000 merging rev my rev@ac809aeed39a+ other rev@8dbce441892a ancestor rev@924404dff337 1 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M a M b -------------- -------------- test L:up a b R:nc a b W: - 17 keep a, merge b no ancestor -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local 0b76e65c8289+ remote 735846fee2d7 b: versions differ -> m rev: versions differ -> m merging b my b@0b76e65c8289+ other b@735846fee2d7 ancestor b@000000000000 merging rev my rev@0b76e65c8289+ other rev@735846fee2d7 ancestor rev@924404dff337 0 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b C a -------------- -------------- test L:nm a b R:up a b W: - 18 merge b no ancestor -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ecf3cb2a4219+ remote 8dbce441892a b: versions differ -> m rev: versions differ -> m a: prompt recreating -> g getting a merging b my b@ecf3cb2a4219+ other b@8dbce441892a ancestor b@000000000000 merging rev my rev@ecf3cb2a4219+ other rev@8dbce441892a ancestor rev@924404dff337 1 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M a M b -------------- -------------- test L:up a b R:nm a b W: - 19 merge b no ancestor, prompt remove a -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local 0b76e65c8289+ remote e03727d2d66b b: versions differ -> m rev: versions differ -> m merging b my b@0b76e65c8289+ other b@e03727d2d66b ancestor b@000000000000 merging rev my rev@0b76e65c8289+ other rev@e03727d2d66b ancestor rev@924404dff337 0 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b C a -------------- -------------- test L:up a R:um a b W: - 20 merge a and b to b, remove a -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local e300d1c794ec+ remote 79cc6877a3b7 rev: versions differ -> m a: remote moved to b -> m copying a to b merging a and b my a@e300d1c794ec+ other b@79cc6877a3b7 ancestor a@924404dff337 removing a merging rev my rev@e300d1c794ec+ other rev@79cc6877a3b7 ancestor rev@924404dff337 0 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b a -------------- -------------- test L:um a b R:up a W: - 21 merge a and b to b -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ec03c2ca8642+ remote f4db7e329e71 b: local moved to a -> m rev: versions differ -> m merging b and a my b@ec03c2ca8642+ other a@f4db7e329e71 ancestor a@924404dff337 merging rev my rev@ec03c2ca8642+ other rev@f4db7e329e71 ancestor rev@924404dff337 0 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b a -------------- -------------- test L:nm a b R:up a c W: - 23 get c, keep b -------------- resolving manifests overwrite None partial False ancestor 924404dff337 local ecf3cb2a4219+ remote 2b958612230f b: local moved to a -> m rev: versions differ -> m c: remote created -> g merging b and a my b@ecf3cb2a4219+ other a@2b958612230f ancestor a@924404dff337 getting c merging rev my rev@ecf3cb2a4219+ other rev@2b958612230f ancestor rev@924404dff337 1 files updated, 2 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) -------------- M b a M c --------------