Mercurial > hg
view tests/test-revlog-ancestry.py @ 17941:9a6e4d5d7ea8
diff: move diffline to patch module
diffline is not part of diff computation, so it makes more sense
to place it with other header generation in patch module.
In upcoming patches we will generalize this approach for
all headers added in the patch, including the git index
header.
author | Guillermo Pérez <bisho@fb.com> |
---|---|
date | Thu, 15 Nov 2012 12:19:03 -0800 |
parents | eb88ed4269c5 |
children | f88c60e740a1 |
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 = open(name, 'w') f.write('%s\n' % name) f.close() repo[None].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, print '\nAncestors of 7, stop at 6' for r in repo.changelog.ancestors([7], 6): 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,