Show More
@@ -1,32 +1,48 | |||||
1 | import os |
|
1 | import os | |
2 | from mercurial import hg, ui, context, encoding |
|
2 | from mercurial import hg, ui, context, encoding | |
3 |
|
3 | |||
4 | u = ui.ui() |
|
4 | u = ui.ui() | |
5 |
|
5 | |||
6 | repo = hg.repository(u, 'test1', create=1) |
|
6 | repo = hg.repository(u, 'test1', create=1) | |
7 | os.chdir('test1') |
|
7 | os.chdir('test1') | |
8 |
|
8 | |||
9 | # create 'foo' with fixed time stamp |
|
9 | # create 'foo' with fixed time stamp | |
10 | f = open('foo', 'w') |
|
10 | f = open('foo', 'w') | |
11 | f.write('foo\n') |
|
11 | f.write('foo\n') | |
12 | f.close() |
|
12 | f.close() | |
13 | os.utime('foo', (1000, 1000)) |
|
13 | os.utime('foo', (1000, 1000)) | |
14 |
|
14 | |||
15 | # add+commit 'foo' |
|
15 | # add+commit 'foo' | |
16 | repo[None].add(['foo']) |
|
16 | repo[None].add(['foo']) | |
17 | repo.commit(text='commit1', date="0 0") |
|
17 | repo.commit(text='commit1', date="0 0") | |
18 |
|
18 | |||
19 | print "workingfilectx.date =", repo[None]['foo'].date() |
|
19 | print "workingfilectx.date =", repo[None]['foo'].date() | |
20 |
|
20 | |||
21 | # test memctx with non-ASCII commit message |
|
21 | # test memctx with non-ASCII commit message | |
22 |
|
22 | |||
23 | def filectxfn(repo, memctx, path): |
|
23 | def filectxfn(repo, memctx, path): | |
24 | return context.memfilectx(repo, "foo", "") |
|
24 | return context.memfilectx(repo, "foo", "") | |
25 |
|
25 | |||
26 | ctx = context.memctx(repo, ['tip', None], |
|
26 | ctx = context.memctx(repo, ['tip', None], | |
27 | encoding.tolocal("Gr\xc3\xbcezi!"), |
|
27 | encoding.tolocal("Gr\xc3\xbcezi!"), | |
28 | ["foo"], filectxfn) |
|
28 | ["foo"], filectxfn) | |
29 | ctx.commit() |
|
29 | ctx.commit() | |
30 | for enc in "ASCII", "Latin-1", "UTF-8": |
|
30 | for enc in "ASCII", "Latin-1", "UTF-8": | |
31 | encoding.encoding = enc |
|
31 | encoding.encoding = enc | |
32 | print "%-8s: %s" % (enc, repo["tip"].description()) |
|
32 | print "%-8s: %s" % (enc, repo["tip"].description()) | |
|
33 | ||||
|
34 | # test performing a status | |||
|
35 | ||||
|
36 | def getfilectx(repo, memctx, f): | |||
|
37 | fctx = memctx.parents()[0][f] | |||
|
38 | data, flags = fctx.data(), fctx.flags() | |||
|
39 | if f == 'foo': | |||
|
40 | data += 'bar\n' | |||
|
41 | return context.memfilectx(repo, f, data, 'l' in flags, 'x' in flags) | |||
|
42 | ||||
|
43 | ctxa = repo.changectx(0) | |||
|
44 | ctxb = context.memctx(repo, [ctxa.node(), None], | |||
|
45 | "test diff", | |||
|
46 | ["foo"], getfilectx) | |||
|
47 | ||||
|
48 | print ctxb.status(ctxa) |
General Comments 0
You need to be logged in to leave comments.
Login now