Since the resolution of issue 64, Darcs treats patch messages
differently from patch contents in terms of encodings. While content is
recorded as a sequence of octets, messages are given a meaning through
unicode. I attempted to record a patch that uses <U+2237> both in the
content and in the message. Here are the various outcomes of what darcs
2.4.8 (+ 1 patch) (installed using cabal) displays:
darcs log -v
message: <U+2237>
content: <U+00E2><U+0088><U+00B7>
This is what I expected, the message contains the right codepoint and
the patch content contains the utf8 encoded version.
DARCS_DONT_ESCAPE_ANYTHING=1 darcs log -v
message: 7
content: the expected byte sequence encoded as utf8
Note that 7 is <U+0037>. It appears as if Darcs is stripping information
here.
darcs send -o somefile
header above patch: 7
patch message: the expected byte sequence encoded as utf8
patch content: the expected byte sequence encoded as utf8
darcs log --xml
message: the expected byte sequence encoded as utf8
So Darcs indeed does store the intended value. It just fails to
correctly display it.
Helmut
|