annotate tests/test_tags.py @ 1588:e2d38f6b8afe

tests: make output comaptible with hash changes in hg-4.8 46da52f4b820 in core mercurial added logic to try hard to reuse manifest if we can. In the tests of hgsubversion, there are lot of cases we create an empty commit with just branch name changed. In hg < 4.8, hgsubversion used to create a new manifest entry for that commit but after that patch, empty commit started using the manifest of the parent leading to hash change.
author Pulkit Goyal <pulkit@yandex-team.ru>
date Wed, 31 Oct 2018 17:04:57 +0300
parents d55c9d0ba350
children 7bb6562feb85
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
643
d2ef7220a079 tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 596
diff changeset
1 import test_util
d2ef7220a079 tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 596
diff changeset
2
521
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
3 import os, sys, cStringIO, difflib
23
1f8854804795 Add tests for tags and fix a bug in the tag-finding code that was found by the tests.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
4 import unittest
1f8854804795 Add tests for tags and fix a bug in the tag-finding code that was found by the tests.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
5
453
bb612e625be6 tags: handle copyfrom old versions of tags more correctly
Augie Fackler <durin42@gmail.com>
parents: 452
diff changeset
6 from mercurial import commands
1439
ab15749252b0 TagMap: stop automagically running 'hg svn rebuildmeta'
Augie Fackler <raf@durin42.com>
parents: 1321
diff changeset
7 from mercurial import error
23
1f8854804795 Add tests for tags and fix a bug in the tag-finding code that was found by the tests.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
8 from mercurial import hg
1f8854804795 Add tests for tags and fix a bug in the tag-finding code that was found by the tests.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
9 from mercurial import node
1f8854804795 Add tests for tags and fix a bug in the tag-finding code that was found by the tests.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
10 from mercurial import ui
1f8854804795 Add tests for tags and fix a bug in the tag-finding code that was found by the tests.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
11
1103
6e1dbf6cbc92 compathacks: new module to collect hacks to work around hg internals changing
Augie Fackler <raf@durin42.com>
parents: 1076
diff changeset
12 from hgsubversion import compathacks
474
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
13 from hgsubversion import svncommands
337
46e69be8e2c8 Reorganize to have a more conventional module structure.
Augie Fackler <durin42@gmail.com>
parents: 331
diff changeset
14 from hgsubversion import svnrepo
23
1f8854804795 Add tests for tags and fix a bug in the tag-finding code that was found by the tests.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
15
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
16 revsymbol = test_util.revsymbol
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
17
91
7d10165cf3d9 tests: Mock the mercurial.ui.ui class like we really should to capture output.
Augie Fackler <durin42@gmail.com>
parents: 78
diff changeset
18 class TestTags(test_util.TestBase):
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
19 stupid_mode_tests = True
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
20
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
21 def test_tags(self):
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
22 repo = self._load_fixture_and_fetch('basic_tag_tests.svndump')
376
9327e9325645 Use tbdelta to push added tags into .hgtags.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 375
diff changeset
23 self.assertEqual(sorted(repo.tags()), ['copied_tag', 'tag_r3', 'tip'])
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
24 self.assertEqual(revsymbol(repo, 'tag_r3'), revsymbol(repo, 'copied_tag'))
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
25 self.assertEqual(revsymbol(repo,'tag_r3').rev(), 1)
91
7d10165cf3d9 tests: Mock the mercurial.ui.ui class like we really should to capture output.
Augie Fackler <durin42@gmail.com>
parents: 78
diff changeset
26
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
27 def test_remove_tag(self):
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
28 repo = self._load_fixture_and_fetch('remove_tag_test.svndump')
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
29 self.assertEqual(revsymbol(repo, 'tag_r3').rev(), 1)
376
9327e9325645 Use tbdelta to push added tags into .hgtags.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 375
diff changeset
30 self.assert_('copied_tag' not in repo.tags())
91
7d10165cf3d9 tests: Mock the mercurial.ui.ui class like we really should to capture output.
Augie Fackler <durin42@gmail.com>
parents: 78
diff changeset
31
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
32 def test_rename_tag(self):
530
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
33 expected = """\
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
34 node: hg=default@2:svn=trunk@4
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
35 tagging r3
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
36 tag_r3: hg=default@1:svn=trunk@3
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
37
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
38 node: hg=default@3:svn=trunk@5
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
39 tag from a tag
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
40 tag_r3: hg=default@1:svn=trunk@3
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
41 copied_tag: hg=default@1:svn=trunk@3
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
42
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
43 node: hg=default@4:svn=trunk@6
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
44 rename a tag
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
45 tag_r3: hg=default@1:svn=trunk@3
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
46 copied_tag: hg=default@1:svn=trunk@3
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
47 copied_tag: hg=default@-1:svn=unk@unk
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
48 other_tag_r3: hg=default@1:svn=trunk@3
76e9504db03b test_tags: rewrite both the test and the fixture script
Patrick Mezard <pmezard@gmail.com>
parents: 521
diff changeset
49 """
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
50 self._test_tags('rename_tag_test.svndump', expected)
91
7d10165cf3d9 tests: Mock the mercurial.ui.ui class like we really should to capture output.
Augie Fackler <durin42@gmail.com>
parents: 78
diff changeset
51
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
52 def test_branch_from_tag(self):
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
53 repo = self._load_fixture_and_fetch('branch_from_tag.svndump')
1103
6e1dbf6cbc92 compathacks: new module to collect hacks to work around hg internals changing
Augie Fackler <raf@durin42.com>
parents: 1076
diff changeset
54 self.assert_('branch_from_tag' in compathacks.branchset(repo))
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
55 self.assertEqual(repo[1], revsymbol(repo, 'tag_r3'))
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
56 self.assertEqual(revsymbol(repo, 'branch_from_tag').parents()[0],
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
57 revsymbol(repo, 'copied_tag'))
91
7d10165cf3d9 tests: Mock the mercurial.ui.ui class like we really should to capture output.
Augie Fackler <durin42@gmail.com>
parents: 78
diff changeset
58
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
59 def test_tag_by_renaming_branch(self):
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
60 repo = self._load_fixture_and_fetch('tag_by_rename_branch.svndump')
425
f5222d021665 tests: fix for new branch heads change in upstream hg.
Augie Fackler <durin42@gmail.com>
parents: 399
diff changeset
61 branches = set(repo[h] for h in repo.heads())
375
af9fc01299b4 Make branch closing more Mercurial-like.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 337
diff changeset
62 self.assert_('dummy' not in branches)
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
63 self.assertEqual(revsymbol(repo, 'dummy'),
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
64 revsymbol(repo, 'tip').parents()[0],
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
65 '%r != %r[0]' % (revsymbol(repo, 'dummy'),
596
066453cf2014 test_tags: improve test output.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 573
diff changeset
66 repo['tip'].parents()))
375
af9fc01299b4 Make branch closing more Mercurial-like.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 337
diff changeset
67 extra = repo['tip'].extra().copy()
af9fc01299b4 Make branch closing more Mercurial-like.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 337
diff changeset
68 extra.pop('convert_revision', None)
af9fc01299b4 Make branch closing more Mercurial-like.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 337
diff changeset
69 self.assertEqual(extra, {'branch': 'dummy', 'close': '1'})
91
7d10165cf3d9 tests: Mock the mercurial.ui.ui class like we really should to capture output.
Augie Fackler <durin42@gmail.com>
parents: 78
diff changeset
70
379
e1b23a6ca093 test_tags: Add a test that verifies tags get deleted properly even in the presence of somewhat odd branching.
Augie Fackler <durin42@gmail.com>
parents: 376
diff changeset
71 def test_deletion_of_tag_on_trunk_after_branching(self):
e1b23a6ca093 test_tags: Add a test that verifies tags get deleted properly even in the presence of somewhat odd branching.
Augie Fackler <durin42@gmail.com>
parents: 376
diff changeset
72 repo = self._load_fixture_and_fetch('tag_deletion_tag_branch.svndump')
425
f5222d021665 tests: fix for new branch heads change in upstream hg.
Augie Fackler <durin42@gmail.com>
parents: 399
diff changeset
73 branches = set(repo[h].extra()['branch'] for h in repo.heads())
379
e1b23a6ca093 test_tags: Add a test that verifies tags get deleted properly even in the presence of somewhat odd branching.
Augie Fackler <durin42@gmail.com>
parents: 376
diff changeset
74 self.assertEqual(branches, set(['default', 'from_2', ]))
1588
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
75 # two hash values because from hg > 4.8, we try hard to reuse a manifest
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
76 # which leads to hash change of empty changesets
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
77 self.assertTrue(
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
78 repo.tags() in
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
79 ({'tip': 'g\xdd\xcd\x93\x03g\x1e\x7f\xa6-[V%\x99\x07\xd3\x9d>(\x94',
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
80 'new_tag': '=\xb8^\xb5\x18\xa9M\xdb\xf9\xb62Z\xa0\xb5R6+\xfe6.'},
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
81 {'new_tag': '\x1d+\xb8v:6@9D\x9f\xb9\xf4o\xd4n\x8e\x93\xd7\x07\xe3',
e2d38f6b8afe tests: make output comaptible with hash changes in hg-4.8
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 1570
diff changeset
82 'tip': 'F/\xb8V\xd9\x00\xdb\xca\x9b\xd7\x90+O\x02\xbe\xe5\xd6\xc6\x7f\x99'}))
379
e1b23a6ca093 test_tags: Add a test that verifies tags get deleted properly even in the presence of somewhat odd branching.
Augie Fackler <durin42@gmail.com>
parents: 376
diff changeset
83
381
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
84 def test_tags_in_unusual_location(self):
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
85 repo = self._load_fixture_and_fetch('unusual_tags.svndump')
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
86 branches = set(repo[h].extra()['branch']
425
f5222d021665 tests: fix for new branch heads change in upstream hg.
Augie Fackler <durin42@gmail.com>
parents: 399
diff changeset
87 for h in repo.heads())
381
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
88 self.assertEqual(branches, set(['default', 'dev_branch']))
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
89 tags = repo.tags()
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
90 del tags['tip']
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
91 self.assertEqual(
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
92 tags,
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
93 {'blah/trunktag': '\xd3$@\xd7\xd8Nu\xce\xa6%\xf1u\xd9b\x1a\xb2\x81\xc2\xb0\xb1',
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
94 'versions/branch_version': 'I\x89\x1c>z#\xfc._K#@:\xd6\x1f\x96\xd6\x83\x1b|',
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
95 })
a441ba143ac8 tags: fix handling for certain nonstandard tag layouts.
Augie Fackler <durin42@gmail.com>
parents: 379
diff changeset
96
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
97 def test_most_recent_is_edited(self):
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
98 repo, repo_path = self.load_and_fetch('most-recent-is-edit-tag.svndump')
474
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
99 self.repo.ui.status(
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
100 "Note: this test failing may be because of a rebuildmeta failure.\n"
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
101 "You should check that before assuming issues with this test.\n")
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
102 wc2_path = self.wc_path + '2'
816
86d124a8768e Fix hg.clone() calls changed by d976542986d2
Patrick Mezard <pmezard@gmail.com>
parents: 643
diff changeset
103 src, dest = test_util.hgclone(repo.ui, self.wc_path, wc2_path, update=False)
930
5bacb9c63e3e Fix more peer breakage with old hg versions
Patrick Mezard <patrick@mezard.eu>
parents: 916
diff changeset
104 dest = test_util.getlocalpeer(dest)
474
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
105 svncommands.rebuildmeta(repo.ui,
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
106 dest,
867
50c13e01c7e3 test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents: 865
diff changeset
107 args=[test_util.fileurl(repo_path), ])
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
108 commands.pull(self.repo.ui, self.repo)
474
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
109 dtags, srctags = dest.tags(), self.repo.tags()
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
110 dtags.pop('tip')
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
111 srctags.pop('tip')
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
112 self.assertEqual(dtags, srctags)
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
113 self.assertEqual(dest.heads(), self.repo.heads())
63cb630d667d tags: handle the most recent commit being an edit to an svn tag properly
Augie Fackler <durin42@gmail.com>
parents: 453
diff changeset
114
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
115 def test_edited_tag(self):
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
116 repo = self._load_fixture_and_fetch('commit-to-tag.svndump')
547
9e6499c415a9 tags: fix files edited during tag creation
Augie Fackler <durin42@gmail.com>
parents: 545
diff changeset
117 headcount = 6
9e6499c415a9 tags: fix files edited during tag creation
Augie Fackler <durin42@gmail.com>
parents: 545
diff changeset
118 self.assertEqual(len(repo.heads()), headcount)
447
0d3b5acb1d51 tags: handle edits to tags as gracefully as possible
Augie Fackler <durin42@gmail.com>
parents: 425
diff changeset
119 heads = repo.heads()
0d3b5acb1d51 tags: handle edits to tags as gracefully as possible
Augie Fackler <durin42@gmail.com>
parents: 425
diff changeset
120 openheads = [h for h in heads if not repo[h].extra().get('close', False)]
0d3b5acb1d51 tags: handle edits to tags as gracefully as possible
Augie Fackler <durin42@gmail.com>
parents: 425
diff changeset
121 closedheads = set(heads) - set(openheads)
453
bb612e625be6 tags: handle copyfrom old versions of tags more correctly
Augie Fackler <durin42@gmail.com>
parents: 452
diff changeset
122 self.assertEqual(len(openheads), 1)
832
e9af7eba88db globally: clean up whitespace around operators and commas to conform with PEP8
Yonggang Luo <luoyonggang@gmail.com>
parents: 816
diff changeset
123 self.assertEqual(len(closedheads), headcount - 1)
453
bb612e625be6 tags: handle copyfrom old versions of tags more correctly
Augie Fackler <durin42@gmail.com>
parents: 452
diff changeset
124 closedheads = sorted(list(closedheads),
832
e9af7eba88db globally: clean up whitespace around operators and commas to conform with PEP8
Yonggang Luo <luoyonggang@gmail.com>
parents: 816
diff changeset
125 cmp=lambda x, y: cmp(repo[x].rev(), repo[y].rev()))
453
bb612e625be6 tags: handle copyfrom old versions of tags more correctly
Augie Fackler <durin42@gmail.com>
parents: 452
diff changeset
126
452
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
127 # closeme has no open heads
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
128 for h in openheads:
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
129 self.assertNotEqual('closeme', repo[openheads[0]].branch())
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
130
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
131 self.assertEqual(1, len(self.repo.branchheads('magic')))
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
132
547
9e6499c415a9 tags: fix files edited during tag creation
Augie Fackler <durin42@gmail.com>
parents: 545
diff changeset
133 alsoedit, editlater, closeme, willedit, editcreate, = closedheads
447
0d3b5acb1d51 tags: handle edits to tags as gracefully as possible
Augie Fackler <durin42@gmail.com>
parents: 425
diff changeset
134 self.assertEqual(
449
bda5b47ad2a2 tags: handle editing a tag and its source branch simultaneously
Augie Fackler <durin42@gmail.com>
parents: 447
diff changeset
135 repo[willedit].extra(),
447
0d3b5acb1d51 tags: handle edits to tags as gracefully as possible
Augie Fackler <durin42@gmail.com>
parents: 425
diff changeset
136 {'close': '1',
0d3b5acb1d51 tags: handle edits to tags as gracefully as possible
Augie Fackler <durin42@gmail.com>
parents: 425
diff changeset
137 'branch': 'magic',
453
bb612e625be6 tags: handle copyfrom old versions of tags more correctly
Augie Fackler <durin42@gmail.com>
parents: 452
diff changeset
138 'convert_revision': 'svn:af82cc90-c2d2-43cd-b1aa-c8a78449440a/tags/will-edit@19'})
449
bda5b47ad2a2 tags: handle editing a tag and its source branch simultaneously
Augie Fackler <durin42@gmail.com>
parents: 447
diff changeset
139 self.assertEqual(willedit, repo.tags()['will-edit'])
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
140 self.assertEqual(sorted(revsymbol(repo, 'will-edit').manifest().keys()),
1482
253b2ab253a1 tests: add some sorted() calls on unsorted sets
Augie Fackler <raf@durin42.com>
parents: 1321
diff changeset
141 ['alpha', 'beta', 'gamma'])
449
bda5b47ad2a2 tags: handle editing a tag and its source branch simultaneously
Augie Fackler <durin42@gmail.com>
parents: 447
diff changeset
142 self.assertEqual(
bda5b47ad2a2 tags: handle editing a tag and its source branch simultaneously
Augie Fackler <durin42@gmail.com>
parents: 447
diff changeset
143 repo[alsoedit].extra(),
bda5b47ad2a2 tags: handle editing a tag and its source branch simultaneously
Augie Fackler <durin42@gmail.com>
parents: 447
diff changeset
144 {'close': '1',
bda5b47ad2a2 tags: handle editing a tag and its source branch simultaneously
Augie Fackler <durin42@gmail.com>
parents: 447
diff changeset
145 'branch': 'magic',
451
e533e78f1b2f tags: handle tags from edited tags.
Augie Fackler <durin42@gmail.com>
parents: 450
diff changeset
146 'convert_revision': 'svn:af82cc90-c2d2-43cd-b1aa-c8a78449440a/tags/also-edit@14'})
e533e78f1b2f tags: handle tags from edited tags.
Augie Fackler <durin42@gmail.com>
parents: 450
diff changeset
147 self.assertEqual(repo[alsoedit].parents()[0].node(), repo.tags()['also-edit'])
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
148 self.assertEqual(sorted(revsymbol(repo, 'also-edit').manifest().keys()),
1321
a36e87ae2380 tests: always compare manifest keys in sorted order
Siddharth Agarwal <sid0@fb.com>
parents: 1160
diff changeset
149 ['.hgtags', 'alpha', 'beta', 'delta', 'gamma', 'iota',
a36e87ae2380 tests: always compare manifest keys in sorted order
Siddharth Agarwal <sid0@fb.com>
parents: 1160
diff changeset
150 'lambda', 'omega'])
379
e1b23a6ca093 test_tags: Add a test that verifies tags get deleted properly even in the presence of somewhat odd branching.
Augie Fackler <durin42@gmail.com>
parents: 376
diff changeset
151
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
152 self.assertEqual(editlater, revsymbol(repo, 'edit-later').node())
452
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
153 self.assertEqual(
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
154 repo[closeme].extra(),
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
155 {'close': '1',
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
156 'branch': 'closeme',
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
157 'convert_revision': 'svn:af82cc90-c2d2-43cd-b1aa-c8a78449440a/branches/closeme@17'})
1570
d55c9d0ba350 tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
Paul Morelle <paul.morelle@octobus.net>
parents: 1489
diff changeset
158 self.assertEqual('alpha\nalpha\n', revsymbol(repo, 'edit-at-create')['alpha'].data())
452
ae35c389cdef tags: allow editing tags of closed branches without reopening the branch
Augie Fackler <durin42@gmail.com>
parents: 451
diff changeset
159
389
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
160 def test_tags_in_unusual_location(self):
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
161 repo = self._load_fixture_and_fetch('tag_name_same_as_branch.svndump')
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
162 self.assertEqual(len(repo.heads()), 1)
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
163 branches = set(repo[h].extra()['branch']
425
f5222d021665 tests: fix for new branch heads change in upstream hg.
Augie Fackler <durin42@gmail.com>
parents: 399
diff changeset
164 for h in repo.heads())
389
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
165 self.assertEqual(branches, set(['magic', ]))
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
166 tags = repo.tags()
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
167 del tags['tip']
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
168 self.assertEqual(
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
169 tags,
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
170 {'magic': '\xa2b\xb9\x03\xc6\xbd\x903\x95\xf5\x0f\x94\xcey\xc4E\xfaE6\xaa',
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
171 'magic2': '\xa3\xa2D\x86aM\xc0v\xb9\xb0\x18\x14\xad\xacwBUi}\xe2',
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
172 })
a8811c84e3ee tags: Fix an improper parent calculation.
Augie Fackler <durin42@gmail.com>
parents: 381
diff changeset
173
1439
ab15749252b0 TagMap: stop automagically running 'hg svn rebuildmeta'
Augie Fackler <raf@durin42.com>
parents: 1321
diff changeset
174 def test_old_tag_map_aborts(self):
453
bb612e625be6 tags: handle copyfrom old versions of tags more correctly
Augie Fackler <durin42@gmail.com>
parents: 452
diff changeset
175 repo = self._load_fixture_and_fetch('tag_name_same_as_branch.svndump')
bb612e625be6 tags: handle copyfrom old versions of tags more correctly
Augie Fackler <durin42@gmail.com>
parents: 452
diff changeset
176 tm = os.path.join(repo.path, 'svn', 'tagmap')
bb612e625be6 tags: handle copyfrom old versions of tags more correctly
Augie Fackler <durin42@gmail.com>
parents: 452
diff changeset
177 open(tm, 'w').write('1\n')
1160
f06bb42bd2b2 svnmeta: turn tags into lazy property
Sean Farley <sean.michael.farley@gmail.com>
parents: 1103
diff changeset
178 # force tags to load since it is lazily loaded when needed
1439
ab15749252b0 TagMap: stop automagically running 'hg svn rebuildmeta'
Augie Fackler <raf@durin42.com>
parents: 1321
diff changeset
179 self.assertRaises(error.Abort, lambda: repo.svnmeta().tags)
453
bb612e625be6 tags: handle copyfrom old versions of tags more correctly
Augie Fackler <durin42@gmail.com>
parents: 452
diff changeset
180
521
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
181 def _debug_print_tags(self, repo, ctx, fp):
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
182 def formatnode(ctx):
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
183 crev = ctx.extra().get('convert_revision', 'unk/unk@unk')
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
184 path, rev = crev.rsplit('@', 1)
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
185 path = path.split('/', 1)[-1]
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
186 branch = ctx.branch() or 'default'
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
187 return 'hg=%s@%d:svn=%s@%s' % (branch, ctx.rev(), path, rev)
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
188
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
189 w = fp.write
541
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
190 desc = ctx.description().splitlines()[0].strip()
521
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
191 if '.hgtags' not in ctx or not ctx['.hgtags'].data().strip():
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
192 return
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
193 w('node: %s\n' % formatnode(ctx))
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
194 w('%s\n' % desc)
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
195 for line in ctx['.hgtags'].data().splitlines(False):
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
196 node, name = line.split(None, 1)
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
197 w(' %s: %s\n' % (name, formatnode(repo[node])))
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
198 w('\n')
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
199
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
200 def _test_tags(self, testpath, expected):
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
201 repo = self._load_fixture_and_fetch(testpath)
521
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
202 fp = cStringIO.StringIO()
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
203 for r in repo:
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
204 self._debug_print_tags(repo, repo[r], fp=fp)
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
205 output = fp.getvalue().strip()
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
206 expected = expected.strip()
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
207 if expected == output:
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
208 return
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
209 expected = expected.splitlines()
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
210 output = output.splitlines()
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
211 diff = difflib.unified_diff(expected, output, 'expected', 'output')
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
212 self.assert_(False, '\n' + '\n'.join(diff))
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
213
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
214 def test_tagging_into_tag(self):
521
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
215 expected = """\
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
216 node: hg=test@2:svn=branches/test@4
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
217 First tag.
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
218 test-0.1: hg=test@1:svn=branches/test@3
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
219
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
220 node: hg=test@3:svn=branches/test@5
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
221 Weird tag.
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
222 test-0.1: hg=test@1:svn=branches/test@3
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
223 test-0.1/test: hg=test@1:svn=branches/test@3
541
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
224
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
225 node: hg=test@4:svn=branches/test@6
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
226 Fix tag pt 1.
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
227 test-0.1: hg=test@1:svn=branches/test@3
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
228 test-0.1/test: hg=test@1:svn=branches/test@3
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
229 test-0.1/test: hg=default@-1:svn=unk@unk
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
230 test-0.1-real: hg=test@1:svn=branches/test@3
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
231
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
232 node: hg=test@5:svn=branches/test@7
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
233 Remove weird.
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
234 test-0.1: hg=test@1:svn=branches/test@3
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
235 test-0.1/test: hg=test@1:svn=branches/test@3
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
236 test-0.1/test: hg=default@-1:svn=unk@unk
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
237 test-0.1-real: hg=test@1:svn=branches/test@3
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
238 test-0.1: hg=default@-1:svn=unk@unk
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
239
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
240 node: hg=test@6:svn=branches/test@8
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
241 Fix tag pt 2.
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
242 test-0.1: hg=test@1:svn=branches/test@3
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
243 test-0.1/test: hg=test@1:svn=branches/test@3
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
244 test-0.1/test: hg=default@-1:svn=unk@unk
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
245 test-0.1-real: hg=test@1:svn=branches/test@3
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
246 test-0.1: hg=default@-1:svn=unk@unk
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
247 test-0.1-real: hg=default@-1:svn=unk@unk
d380e7e4175a Extend issue119 to full original weirdness
Patrick Mezard <pmezard@gmail.com>
parents: 536
diff changeset
248 test-0.1: hg=test@1:svn=branches/test@3
521
839734dfb5c7 Handle tag subdirectory as tag in replay mode (issue119)
Patrick Mezard <pmezard@gmail.com>
parents: 474
diff changeset
249 """
1076
58b2d84df5e7 test_tags: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 1044
diff changeset
250 self._test_tags('renametagdir.svndump', expected)