tests/test-copy.out
author Renato Cunha <renatoc@gmail.com>
Tue, 03 Aug 2010 13:52:48 -0300
changeset 11748 37a70a784397
parent 11331 997ab9af81df
permissions -rw-r--r--
py3kcompat: added a "compatibility layer" for py3k This patch adds some ugly constructs. The first of them is bytesformatter, a function that formats strings like when '%' is called. The main motivation for this function is py3k's strange behavior: >>> 'foo %s' % b'bar' "foo b'bar'" >>> b'foo %s' % b'bar' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for %: 'bytes' and 'bytes' >>> b'foo %s' % 'bar' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for %: 'bytes' and 'str' In other words, if we can't format bytes with bytes, and recall that all mercurial strings will be converted by a fixer, then things will break badly if we don't take a similar approach. The other addition with this patch is that the os.environ dictionary is monkeypatched to have bytes items. Hopefully this won't be needed in the future, as python 3.2 might get a os.environb dictionary that holds bytes items.

A b
parent: 0:33aaa84a386b tip
 1
branch: default
commit: 1 copied
update: (current)
b
 b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
committed changeset 1:76973b01f66a012648546c979ea4c41de9e7d8cd
we should see two history entries
changeset:   1:76973b01f66a
tag:         tip
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
files:       b
description:
2


changeset:   0:33aaa84a386b
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
files:       a
description:
1


we should see one log entry for a
changeset:   0:33aaa84a386b
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     1

this should show a revision linked to changeset 0
   rev    offset  length   base linkrev nodeid       p1           p2
     0         0       3      0       0 b789fdd96dc2 000000000000 000000000000
we should see one log entry for b
changeset:   1:76973b01f66a
tag:         tip
user:        test
date:        Mon Jan 12 13:46:40 1970 +0000
summary:     2

this should show a revision linked to changeset 1
   rev    offset  length   base linkrev nodeid       p1           p2
     0         0      65      0       1 37d9b5d994ea 000000000000 000000000000
this should show the rename information in the metadata
copy: a
copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
4999f120a3b88713bbefddd195cf5133  .hg/store/data/b.i
60b725f10c9c85c70d97880dfe8191b3  bsum
60b725f10c9c85c70d97880dfe8191b3  asum
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 2 changesets, 2 total revisions