Mercurial > hg
view tests/test-lfs-pointer.py @ 51316:178e50edb4f8
changelog: stop useless enforcing split at the end of transaction
Changelogs are no longer created inline, and existing changelogs are
automatically split. Since we now enforce splitting at the start of any write,
we don't need to enforce splitting at the end of the transaction.
This has the nice side effect of killing the only user of "side_write".
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 11 Jan 2024 16:35:52 +0100 |
parents | 6000f5b25c9b |
children |
line wrap: on
line source
# Import something from Mercurial, so the module loader gets initialized. from mercurial import pycompat del pycompat # unused for now from hgext.lfs import pointer def tryparse(text): r = {} try: r = pointer.deserialize(text) print('ok') except Exception as ex: print((b'%s' % ex).decode('ascii')) if r: text2 = r.serialize() if text2 != text: print('reconstructed text differs') return r t = ( b'version https://git-lfs.github.com/spec/v1\n' b'oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1' b'258daaa5e2ca24d17e2393\n' b'size 12345\n' b'x-foo extra-information\n' ) tryparse(b'') tryparse(t) tryparse(t.replace(b'git-lfs', b'unknown')) tryparse(t.replace(b'v1\n', b'v1\n\n')) tryparse(t.replace(b'sha256', b'ahs256')) tryparse(t.replace(b'sha256:', b'')) tryparse(t.replace(b'12345', b'0x12345')) tryparse(t.replace(b'extra-information', b'extra\0information')) tryparse(t.replace(b'extra-information', b'extra\ninformation')) tryparse(t.replace(b'x-foo', b'x_foo')) tryparse(t.replace(b'oid', b'blobid')) tryparse(t.replace(b'size', b'size-bytes').replace(b'oid', b'object-id'))