##// END OF EJS Templates
copyfile: allow optional hardlinking...
copyfile: allow optional hardlinking Some code paths use 'copyfiles' (full tree) for a single file to take advantage of the best-effort-hard-linking parameter. We add similar parameter and logic to 'copyfile' (single file) for this purpose. The single file version have the advantage to overwrite the destination file if it exists.

File last commit:

r18081:f88c60e7 default
r23899:4e451d13 default
Show More
test-revlog-ancestry.py
85 lines | 1.7 KiB | text/x-python | PythonLexer
/ tests / test-revlog-ancestry.py
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872 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):
Alejandro Santos
compat: use open() instead of file() everywhere
r9031 f = open(name, 'w')
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872 f.write('%s\n' % name)
f.close()
Dirkjan Ochtman
move working dir/dirstate methods from localrepo to workingctx
r11303 repo[None].add([name])
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872 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'
Bryan O'Sullivan
revlog: ancestors(*revs) becomes ancestors(revs) (API)...
r16866 for r in repo.changelog.ancestors([5]):
Dirkjan Ochtman
strip trailing whitespace, replace tabs by spaces
r6923 print r,
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872
print '\nAncestors of 6 and 5'
Bryan O'Sullivan
revlog: ancestors(*revs) becomes ancestors(revs) (API)...
r16866 for r in repo.changelog.ancestors([6, 5]):
Dirkjan Ochtman
strip trailing whitespace, replace tabs by spaces
r6923 print r,
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872
print '\nAncestors of 5 and 4'
Bryan O'Sullivan
revlog: ancestors(*revs) becomes ancestors(revs) (API)...
r16866 for r in repo.changelog.ancestors([5, 4]):
Dirkjan Ochtman
strip trailing whitespace, replace tabs by spaces
r6923 print r,
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872
Joshua Redstone
revlog: add optional stoprev arg to revlog.ancestors()...
r16868 print '\nAncestors of 7, stop at 6'
for r in repo.changelog.ancestors([7], 6):
print r,
Siddharth Agarwal
revlog.ancestors: add support for including revs...
r18081 print '\nAncestors of 7, including revs'
for r in repo.changelog.ancestors([7], inclusive=True):
print r,
print '\nAncestors of 7, 5 and 3, including revs'
for r in repo.changelog.ancestors([7, 5, 3], inclusive=True):
print r,
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872 # Descendants
print '\n\nDescendants of 5'
Bryan O'Sullivan
revlog: descendants(*revs) becomes descendants(revs) (API)...
r16867 for r in repo.changelog.descendants([5]):
Dirkjan Ochtman
strip trailing whitespace, replace tabs by spaces
r6923 print r,
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872
print '\nDescendants of 5 and 3'
Bryan O'Sullivan
revlog: descendants(*revs) becomes descendants(revs) (API)...
r16867 for r in repo.changelog.descendants([5, 3]):
Dirkjan Ochtman
strip trailing whitespace, replace tabs by spaces
r6923 print r,
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872
print '\nDescendants of 5 and 4'
Bryan O'Sullivan
revlog: descendants(*revs) becomes descendants(revs) (API)...
r16867 for r in repo.changelog.descendants([5, 4]):
Dirkjan Ochtman
strip trailing whitespace, replace tabs by spaces
r6923 print r,
Stefano Tortarolo
Add ancestors and descendants to revlog...
r6872