Mercurial > hg
view tests/test-push-warn.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 | b66e414d38b0 |
children | 6381fa7bfa53 |
line wrap: on
line source
updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved pushing to ../a searching for changes abort: push creates new remote heads on branch 'default'! (you should pull and merge or use push -f to force) pulling from ../a searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) (run 'hg heads' to see heads, 'hg merge' to merge) pushing to ../a searching for changes abort: push creates new remote heads on branch 'default'! (did you forget to merge? use push -f to force) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) pushing to ../a searching for changes adding changesets adding manifests adding file changes added 2 changesets with 1 changes to 1 files adding foo updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved created new head 1 files updated, 0 files merged, 0 files removed, 0 files unresolved created new head merging foo 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) pushing to ../c searching for changes abort: push creates new remote heads on branch 'default'! (did you forget to merge? use push -f to force) 1 pushing to ../c searching for changes no changes found 0 pushing to ../c searching for changes abort: push creates new remote heads on branch 'default'! (did you forget to merge? use push -f to force) 1 pushing to ../c searching for changes abort: push creates new remote heads on branch 'default'! (did you forget to merge? use push -f to force) 1 pushing to ../c searching for changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 1 files (+2 heads) 0 pushing to ../c searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (-1 heads) 0 comparing with ../c searching for changes no changes found % issue 450 pushing to ../e searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files 0 pushing to ../e searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files 0 % issue 736 % push on existing branch and new branch pushing to ../f searching for changes abort: push creates new remote branches: c! (use 'hg push --new-branch' to create new remote branches) 1 pushing to ../f searching for changes abort: push creates new remote branches: c! (use 'hg push --new-branch' to create new remote branches) 1 % multiple new branches pushing to ../f searching for changes abort: push creates new remote branches: c, d! (use 'hg push --new-branch' to create new remote branches) 1 pushing to ../f searching for changes abort: push creates new remote branches: c, d! (use 'hg push --new-branch' to create new remote branches) 1 % fail on multiple head push pushing to ../f searching for changes abort: push creates new remote heads on branch 'a'! (did you forget to merge? use push -f to force) 1 % push replacement head on existing branches pushing to ../f searching for changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 1 files 0 % merge of branch a to other branch b followed by unrelated push on branch a pushing to ../f searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (-1 heads) 0 pushing to ../f searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) 0 % cheating the counting algorithm pushing to ../f searching for changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 1 files 0 % failed push of new named branch pushing to ../f searching for changes abort: push creates new remote branches: e! (use 'hg push --new-branch' to create new remote branches) 1 % using --new-branch to push new named branch pushing to ../f searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files 0 % checking prepush logic does not allow silently pushing multiple new heads adding init adding a updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 0 files updated, 0 files merged, 1 files removed, 0 files unresolved adding b created new head 0 files updated, 0 files merged, 1 files removed, 0 files unresolved adding c created new head pushing to h searching for changes abort: push creates new remote heads on branch 'default'! (you should pull and merge or use push -f to force) % check prepush logic with merged branches marked working directory as branch a adding foo updating to branch a 1 files updated, 0 files merged, 0 files removed, 0 files unresolved marked working directory as branch b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) pushing to j searching for changes abort: push creates new remote branches: b! (use 'hg push --new-branch' to create new remote branches) % prepush -r should not allow you to sneak in new heads pushing to ../l searching for changes abort: push creates new remote heads on branch 'a'! (did you forget to merge? use push -f to force) % check prepush with new branch head on former topo non-head marked working directory as branch A adding a marked working directory as branch B adding b updating to branch B 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 0 files updated, 0 files merged, 0 files removed, 0 files unresolved adding b1 0 files updated, 0 files merged, 1 files removed, 0 files unresolved adding a2 %% glog of local @ 2: A a2 | | o 1: B b |/ o 0: A a %% glog of remote @ 2: B b1 | o 1: B b | o 0: A a %% outgoing comparing with inner searching for changes 2: A a2 pushing to inner searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) % check prepush with new branch head on former topo head marked working directory as branch A adding a marked working directory as branch B adding b 0 files updated, 0 files merged, 1 files removed, 0 files unresolved adding a1 updating to branch A 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 1 files removed, 0 files unresolved adding b1 adding a2 %% glog of local @ 3: A a2 | o 2: A a1 | | o 1: B b |/ o 0: A a %% glog of remote @ 3: B b1 | | o 2: A a1 | | o | 1: B b |/ o 0: A a %% outgoing comparing with inner searching for changes 3: A a2 pushing to inner searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files % check prepush with new branch head and new child of former branch head % but child is on different branch marked working directory as branch A adding a 0 files updated, 0 files merged, 1 files removed, 0 files unresolved marked working directory as branch B adding b updating to branch B 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 1 files removed, 0 files unresolved marked working directory as branch B created new head 1 files updated, 0 files merged, 1 files removed, 0 files unresolved marked working directory as branch A created new head %% glog of local @ 5: A b3 | | o 4: B a3 | | o | 3: B b1 | | o | 2: B b0 / o 1: A a1 | o 0: A a0 %% glog of remote @ 3: B b1 | o 2: B b0 o 1: A a1 | o 0: A a0 %% outgoing comparing with inner searching for changes 4: B a3 5: A b3 pushing to inner searching for changes abort: push creates new remote heads on branch 'A'! (did you forget to merge? use push -f to force) pushing to inner searching for changes abort: push creates new remote heads on branch 'A'! (did you forget to merge? use push -f to force) comparing with inner searching for changes no changes found