Mercurial > hg
view tests/test-revlog-ancestry.py @ 8819:e93ab347c814
test-convert-cvsnt-mergepoints: ignore differences between CVS 1.11 and 1.12.
- factor out cvsci function (similar to other test-convert-cvs* scripts)
- add filterpath function (also similar to other scripts)
- generally munge the output of CVS
- add lots of output to make it easier to follow when things go wrong
This doesn't make the test pass reliably under CVS 1.11; it just makes
it behave the same as under CVS 1.12, i.e. sometimes it passes and
sometimes it fails. Failure is more frequent with faster hardware.
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Mon, 15 Jun 2009 20:35:19 -0400 |
parents | 284fda4cd093 |
children | 3b76321aa0de |
line wrap: on
line source
import os from mercurial import hg, ui, merge u = ui.ui() repo = hg.repository(u, 'test1', create=1) os.chdir('test1') def commit(text, time): repo.commit(text=text, date="%d 0" % time) def addcommit(name, time): f = file(name, 'w') f.write('%s\n' % name) f.close() repo.add([name]) commit(name, time) def update(rev): merge.update(repo, rev, False, True, False) def merge_(rev): merge.update(repo, rev, True, False, False) if __name__ == '__main__': addcommit("A", 0) addcommit("B", 1) update(0) addcommit("C", 2) merge_(1) commit("D", 3) update(2) addcommit("E", 4) addcommit("F", 5) update(3) addcommit("G", 6) merge_(5) commit("H", 7) update(5) addcommit("I", 8) # Ancestors print 'Ancestors of 5' for r in repo.changelog.ancestors(5): print r, print '\nAncestors of 6 and 5' for r in repo.changelog.ancestors(6, 5): print r, print '\nAncestors of 5 and 4' for r in repo.changelog.ancestors(5, 4): print r, # Descendants print '\n\nDescendants of 5' for r in repo.changelog.descendants(5): print r, print '\nDescendants of 5 and 3' for r in repo.changelog.descendants(5, 3): print r, print '\nDescendants of 5 and 4' for r in repo.changelog.descendants(5, 4): print r,