view tests/test-subrepo.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 db426935fa94
children a286a4ecbfeb
line wrap: on
line source

% first revision, no sub
adding a
% add first sub
abort: can't commit subrepos without .hgsub
adding a
parent: 0:f7b1eb17ad24 tip
 0
branch: default
commit: 1 added, 1 subrepos
update: (current)
committing subrepository s
parent: 1:7cf8cfea66e4 tip
 1
branch: default
commit: 1 subrepos
update: (current)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent: 1:7cf8cfea66e4 tip
 1
branch: default
commit: (clean)
update: (current)
% add sub sub
parent: 1:7cf8cfea66e4 tip
 1
branch: default
commit: 1 subrepos
update: (current)
committing subrepository s
committing subrepository s/ss
parent: 2:df30734270ae tip
 2
branch: default
commit: (clean)
update: (current)
% bump sub rev
committing subrepository s
% leave sub dirty
committing subrepository s
changeset:   3:1c833a7a9e3a
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     4

% check caching
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
% restore
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
path s
 source   s
 revision 1c833a7a9e3a4445c711aaf0f012379cd0d4034e
% new branch for merge tests
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding t/t
% 5
committing subrepository t
created new head
% 6
committing subrepository t
path s
 source   s
 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
path t
 source   t
 revision 6747d179aa9a688023c4b0cad32e4c92bb7f34ad
% 7
committing subrepository t
% 8
% merge tests
2 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)
path s
 source   s
 revision fc627a69481fcbe5f1135069e8a3881c023e4cf5
path t
 source   t
 revision 60ca1237c19474e7a3978b0dc1ca4e6f36d51382
created new head
  searching for copies back to rev 2
resolving manifests
 overwrite None partial False
 ancestor 1f14a2e2d3ec local f0d2028bf86d+ remote 1831e14459c4
 .hgsubstate: versions differ -> m
updating: .hgsubstate 1/1 files (100.00%)
subrepo merge f0d2028bf86d+ 1831e14459c4 1f14a2e2d3ec
  subrepo t: other changed, get t:6747d179aa9a688023c4b0cad32e4c92bb7f34ad:hg
getting subrepo t
resolving manifests
 overwrite True partial False
 ancestor 60ca1237c194+ local 60ca1237c194+ remote 6747d179aa9a
 t: remote is newer -> g
updating: t 1/1 files (100.00%)
getting t
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
path s
 source   s
 revision fc627a69481fcbe5f1135069e8a3881c023e4cf5
path t
 source   t
 revision 6747d179aa9a688023c4b0cad32e4c92bb7f34ad
committing subrepository t
  searching for copies back to rev 2
resolving manifests
 overwrite None partial False
 ancestor 1831e14459c4 local e45c8b14af55+ remote f94576341bcf
 .hgsubstate: versions differ -> m
updating: .hgsubstate 1/1 files (100.00%)
subrepo merge e45c8b14af55+ f94576341bcf 1831e14459c4
  subrepo t: both sides changed, merge with t:7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4:hg
merging subrepo t
  searching for copies back to rev 2
resolving manifests
 overwrite None partial False
 ancestor 6747d179aa9a local 20a0db6fbf6c+ remote 7af322bc1198
 t: versions differ -> m
preserving t for resolve of t
updating: t 1/1 files (100.00%)
picked tool 'internal:merge' for t (binary False symlink False)
merging t
my t@20a0db6fbf6c+ other t@7af322bc1198 ancestor t@6747d179aa9a
warning: conflicts during merge.
merging t failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% should conflict
<<<<<<< local
conflict
=======
t3
>>>>>>> other
% clone
updating to branch default
pulling subrepo s from .../sub/t/s
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 5 changes to 3 files
pulling subrepo s/ss from .../sub/t/s/ss
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
pulling subrepo t from .../sub/t/t
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 4 changes to 1 files (+1 heads)
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
path s
 source   s
 revision fc627a69481fcbe5f1135069e8a3881c023e4cf5
path t
 source   t
 revision 20a0db6fbf6c3d2836e6519a642ae929bfc67c0e
% push
committing subrepository t
pushing ...sub/t
pushing ...sub/t/s/ss
searching for changes
no changes found
pushing ...sub/t/s
searching for changes
no changes found
pushing ...sub/t/t
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
% push -f
committing subrepository s
abort: push creates new remote heads on branch 'default'!
pushing ...sub/t
pushing ...sub/t/s/ss
searching for changes
no changes found
pushing ...sub/t/s
searching for changes
(did you forget to merge? use push -f to force)
pushing ...sub/t
pushing ...sub/t/s/ss
searching for changes
no changes found
pushing ...sub/t/s
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
pushing ...sub/t/t
searching for changes
no changes found
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
% update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
committing subrepository t
% pull
pulling ...sub/t
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
pulling subrepo t from .../sub/t/t
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
blah
% bogus subrepo path aborts
abort: missing ] in subrepo source
% issue 1986
adding a
marked working directory as branch br
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding b
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding c
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
adding .hgsub
committing subrepository s
marked working directory as branch br
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding b
committing subrepository s
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
adding c
2 files updated, 0 files merged, 1 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding d
committing subrepository s
2 files updated, 0 files merged, 1 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding e
committing subrepository s
0 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)
% test subrepo delete from .hgsubstate
adding testdelete/nested/foo
adding testdelete/nested2/foo
adding testdelete/.hgsub
committing subrepository nested2
committing subrepository nested
nested
% test repository cloning
adding nested_absolute/foo
adding nested_relative/foo2
adding main/.hgsub
committing subrepository nested_relative
committing subrepository nested_absolute
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
[paths]
default = $HGTMP/test-subrepo/sub/mercurial/nested_absolute
[paths]
default = $HGTMP/test-subrepo/sub/mercurial/nested_relative
% issue 1977
adding a
adding .hgsub
committing subrepository s
updating to branch default
pulling subrepo s from .../sub/repo/s
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
2 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
committing subrepository s
abort: push creates new remote heads on branch 'default'!
0 files updated, 0 files merged, 0 files removed, 0 files unresolved