Mercurial > hg
view tests/test-rebase-mq.out @ 12252:4481f8a93c7a stable
convert/darcs: handle non-ASCII metadata in darcs changelog (issue2354)
Given a commit author or message with non-ASCII characters in a darcs
repo, convert would raise a UnicodeEncodeError when adding changesets
to the hg changelog.
This happened because etree returns back unicode objects for any text
it can't encode into ASCII. convert was passing these objects to
changelog.add(), which would then attempt encoding.fromlocal() on
them.
This patch ensures converter_source.recode() is called on each piece
of commit data returned by etree.
(Also note that darcs is currently encoding agnostic and will print
out whatever is in a patch's metadata byte-for-byte, even in the XML
changelog.)
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Fri, 10 Sep 2010 09:30:50 -0500 |
parents | 92342fa9fbd8 |
children |
line wrap: on
line source
1 files updated, 0 files merged, 0 files removed, 0 files unresolved @ 3 P1 tags: f2.patch qtip tip | o 2 P0 tags: f.patch qbase | | o 1 R1 tags: |/ o 0 C1 tags: qparent % Rebase - try to rebase on an applied mq patch abort: cannot rebase onto an applied mq patch % Rebase - same thing, but mq patch is default dest abort: cannot rebase onto an applied mq patch % Rebase - generate a conflict merging f warning: conflicts during merge. merging f failed! abort: fix unresolved conflicts with hg resolve then run hg rebase --continue % Fix the 1st conflict warning: conflicts during merge. merging f failed! abort: fix unresolved conflicts with hg resolve then run hg rebase --continue merging f % Fix the 2nd conflict saved backup bundle to @ 3 P1 tags: f2.patch qtip tip | o 2 P0 tags: f.patch qbase | o 1 R1 tags: qparent | o 0 C1 tags: % Update to qbase 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % f correctly reflects the merge result mq1r1 % And the patch is correct # HG changeset patch # User test # Date # Node ID # Parent P0 diff -r x -r y f --- a/f +++ b/f @@ -1,1 +1,1 @@ -r1 +mq1r1 % Update to qtip 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % f correctly reflects the merge result mq1r1mq2 % And the patch is correct # HG changeset patch # User test # Date # Node ID # Parent P1 diff -r x -r y f --- a/f +++ b/f @@ -1,1 +1,1 @@ -mq1r1 +mq1r1mq2 % Adding one git-style patch and one normal popping f2.patch popping f.patch patch queue now empty 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % patch series step 1/2 f_git.patch: P0 (git) f.patch: P1 % patch queue manifest step 1/2 .hgignore f.patch f_git.patch series % Git patch P0 (git) diff --git a/p b/p new file mode 100644 --- /dev/null +++ b/p @@ -0,0 +1,1 @@ +mq1 % Normal patch P1 diff -r x p --- a/p +++ b/p @@ -1,1 +1,1 @@ -mq1 +mq2 % Rebase the applied mq patches % patch series step 2/2 f_git.patch: P0 (git) f.patch: P1 % patch queue manifest step 2/2 .hgignore f.patch f_git.patch series % And the patches are correct % Git patch # HG changeset patch # User test # Date # Node ID # Parent P0 (git) diff --git a/p b/p new file mode 100644 --- /dev/null +++ b/p @@ -0,0 +1,1 @@ +mq1 % Normal patch # HG changeset patch # User test # Date # Node ID # Parent P1 --- a/p +++ b/p @@ -1,1 +1,1 @@ -mq1 +mq2