view tests/test-context.py @ 17474:f85816af6294

obsolete: add a high level function to create an obsolete marker This function is designed to be used by all code that creates new obsolete markers in the local repository. It is not used by debugobsolete because debugobsolete allows the use of an unknown hash as argument.
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Fri, 24 Aug 2012 21:16:23 +0200
parents bd23d5f28bbb
children 503bb3af70fe
line wrap: on
line source

import os
from mercurial import hg, ui, context, encoding

u = ui.ui()

repo = hg.repository(u, 'test1', create=1)
os.chdir('test1')

# create 'foo' with fixed time stamp
f = open('foo', 'w')
f.write('foo\n')
f.close()
os.utime('foo', (1000, 1000))

# add+commit 'foo'
repo[None].add(['foo'])
repo.commit(text='commit1', date="0 0")

print "workingfilectx.date =", repo[None]['foo'].date()

# test memctx with non-ASCII commit message

def filectxfn(repo, memctx, path):
    return context.memfilectx("foo", "")

ctx = context.memctx(repo, ['tip', None],
                     encoding.tolocal("Gr\xc3\xbcezi!"),
                     ["foo"], filectxfn)
ctx.commit()
for enc in "ASCII", "Latin-1", "UTF-8":
    encoding.encoding = enc
    print "%-8s: %s" % (enc, repo["tip"].description())