Mercurial > hg
view tests/test-filelog @ 13568:0b79cf616e65
commands.update() now works properly with a revision of 0
Without this change commands.update() treats an integer 0 as if no revision
was passed and updates to the branch head. This fix allows an integer 0 to
be detected as a revision number so the working directory is correctly
changed to revision 0 rather than the branch head.
author | Mark Drago <markdrago@gmail.com> |
---|---|
date | Tue, 08 Mar 2011 08:41:39 -0500 |
parents | 2370e270a29a |
children | 2de1244361aa |
line wrap: on
line source
#!/usr/bin/env python """ Tests the behaviour of filelog w.r.t. data starting with '\1\n' """ from mercurial import ui, hg from mercurial.node import nullid, hex myui = ui.ui() repo = hg.repository(myui, path='.', create=True) fl = repo.file('foobar') def addrev(text, renamed=False): if renamed: # data doesnt matter. Just make sure filelog.renamed() returns True meta = dict(copyrev=hex(nullid), copy='bar') else: meta = {} t = repo.transaction('commit') try: node = fl.add(text, meta, t, 0, nullid, nullid) return node finally: t.close() def error(text): print 'ERROR: ' + text textwith = '\1\nfoo' without = 'foo' node = addrev(textwith) if not textwith == fl.read(node): error('filelog.read for data starting with \\1\\n') if fl.cmp(node, textwith) or not fl.cmp(node, without): error('filelog.cmp for data starting with \\1\\n') if fl.size(0) != len(textwith): error('FIXME: This is a known failure of filelog.size for data starting ' 'with \\1\\n') node = addrev(textwith, renamed=True) if not textwith == fl.read(node): error('filelog.read for a renaming + data starting with \\1\\n') if fl.cmp(node, textwith) or not fl.cmp(node, without): error('filelog.cmp for a renaming + data starting with \\1\\n') if fl.size(1) != len(textwith): error('filelog.size for a renaming + data starting with \\1\\n') print 'OK.'