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