Merge lp:~jelmer/bzr-builddeb/move-upstream-tag into lp:bzr-builddeb

Proposed by Jelmer Vernooij
Status: Merged
Approved by: James Westby
Approved revision: 579
Merged at revision: 580
Proposed branch: lp:~jelmer/bzr-builddeb/move-upstream-tag
Merge into: lp:bzr-builddeb
Diff against target: 216 lines (+69/-75)
5 files modified
cmds.py (+2/-9)
tagging.py (+0/-38)
tests/test_tagging.py (+0/-28)
tests/test_upstream.py (+30/-0)
upstream/pristinetar.py (+37/-0)
To merge this branch: bzr merge lp:~jelmer/bzr-builddeb/move-upstream-tag
Reviewer Review Type Date Requested Status
James Westby Approve
Review via email: mp+65954@code.launchpad.net

Description of the change

Move upstream tag code to upstream/pristinetar.py, as it is specific to pristine tar branches.

To post a comment you must log in.
Revision history for this message
James Westby (james-w) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'cmds.py'
--- cmds.py 2011-06-24 10:51:46 +0000
+++ cmds.py 2011-06-27 10:35:50 +0000
@@ -86,10 +86,6 @@
86 MergeModeDistiller,86 MergeModeDistiller,
87 NativeSourceDistiller,87 NativeSourceDistiller,
88 )88 )
89from bzrlib.plugins.builddeb.tagging import (
90 is_upstream_tag,
91 upstream_tag_version,
92 )
93from bzrlib.plugins.builddeb.upstream import (89from bzrlib.plugins.builddeb.upstream import (
94 AptSource,90 AptSource,
95 GetOrigSourceSource,91 GetOrigSourceSource,
@@ -952,11 +948,8 @@
952 if db.pristine_upstream_source.has_version(None, version):948 if db.pristine_upstream_source.has_version(None, version):
953 raise BzrCommandError("Version %s is already present." % version)949 raise BzrCommandError("Version %s is already present." % version)
954 tagged_versions = {}950 tagged_versions = {}
955 for tag_name, tag_revid in branch.tags.get_tag_dict().iteritems():951 for tag, tag_version, revid in db.pristine_upstream_source.iter_versions():
956 if not is_upstream_tag(tag_name):952 tagged_versions[Version(tag_version)] = revid
957 continue
958 tag_version = Version(upstream_tag_version(tag_name))
959 tagged_versions[tag_version] = tag_revid
960 tag_order = sorted(tagged_versions.keys())953 tag_order = sorted(tagged_versions.keys())
961 if tag_order:954 if tag_order:
962 parents = [tagged_versions[tag_order[-1]]]955 parents = [tagged_versions[tag_order[-1]]]
963956
=== modified file 'tagging.py'
--- tagging.py 2011-01-10 22:44:18 +0000
+++ tagging.py 2011-06-27 10:35:50 +0000
@@ -19,9 +19,6 @@
1919
20"""Tagging related functions for bzr-builddeb."""20"""Tagging related functions for bzr-builddeb."""
2121
22__all__ = ['is_upstream_tag', 'upstream_tag_version']
23
24
25try:22try:
26 from debian.changelog import Version23 from debian.changelog import Version
27except ImportError:24except ImportError:
@@ -29,41 +26,6 @@
29 from debian_bundle.changelog import Version26 from debian_bundle.changelog import Version
3027
3128
32def is_upstream_tag(tag):
33 """Return true if tag is an upstream tag.
34
35 :param tag: The string name of the tag.
36 :return: True if the tag name is one generated by upstream tag operations.
37
38 >>> is_upstream_tag('2.1')
39 False
40 >>> is_upstream_tag('upstream-2.1')
41 True
42 """
43 return tag.startswith('upstream-') or tag.startswith('upstream/')
44
45
46def upstream_tag_version(tag):
47 """Return the upstream version portion of an upstream tag name.
48
49 :param tag: The string name of the tag.
50 :return: The version portion of the tag.
51
52 >>> upstream_tag_version('upstream-2.1')
53 '2.1'
54 """
55 assert is_upstream_tag(tag), "Not an upstream tag: %s" % tag
56 if tag.startswith('upstream/'):
57 tag = tag[len('upstream/'):]
58 elif tag.startswith('upstream-'):
59 tag = tag[len('upstream-'):]
60 if tag.startswith('debian-'):
61 tag = tag[len('debian-'):]
62 elif tag.startswith('ubuntu-'):
63 tag = tag[len('ubuntu-'):]
64 return tag
65
66
67def sort_debversion(branch, tags):29def sort_debversion(branch, tags):
68 """Sort tags using Debian version in-place.30 """Sort tags using Debian version in-place.
6931
7032
=== modified file 'tests/test_tagging.py'
--- tests/test_tagging.py 2011-01-10 22:44:18 +0000
+++ tests/test_tagging.py 2011-06-27 10:35:50 +0000
@@ -25,34 +25,6 @@
25 )25 )
2626
2727
28class TestIsUpstreamTag(TestCase):
29
30 def test_plain_version(self):
31 self.assertFalse(tagging.is_upstream_tag('2.1'))
32
33 def test_simple_upstream(self):
34 self.assertTrue(tagging.is_upstream_tag('upstream-2.1'))
35
36 def test_distro_upstream(self):
37 self.assertTrue(tagging.is_upstream_tag('upstream-debian-2.1'))
38
39 def test_git_upstream(self):
40 self.assertTrue(tagging.is_upstream_tag('upstream/2.1'))
41
42
43class TestUpstreamTagVersion(TestCase):
44
45 def test_simple_upstream(self):
46 self.assertEqual('2.1', tagging.upstream_tag_version('upstream-2.1'))
47
48 def test_distro_upstream(self):
49 self.assertEqual('2.1',
50 tagging.upstream_tag_version('upstream-debian-2.1'))
51
52 def test_git_upstream(self):
53 self.assertEqual('2.1', tagging.upstream_tag_version('upstream/2.1'))
54
55
56class TestDebVersionSort(TestCase):28class TestDebVersionSort(TestCase):
5729
58 def test_sort(self):30 def test_sort(self):
5931
=== modified file 'tests/test_upstream.py'
--- tests/test_upstream.py 2011-06-15 18:44:09 +0000
+++ tests/test_upstream.py 2011-06-27 10:35:50 +0000
@@ -71,6 +71,8 @@
71 )71 )
72from bzrlib.plugins.builddeb.upstream.pristinetar import (72from bzrlib.plugins.builddeb.upstream.pristinetar import (
73 PristineTarSource,73 PristineTarSource,
74 is_upstream_tag,
75 upstream_tag_version,
74 )76 )
7577
7678
@@ -661,6 +663,34 @@
661 self.assertEquals("svn:2424", get_snapshot_revision("0.4.4+svn2424"))663 self.assertEquals("svn:2424", get_snapshot_revision("0.4.4+svn2424"))
662664
663665
666class TestIsUpstreamTag(TestCase):
667
668 def test_plain_version(self):
669 self.assertFalse(is_upstream_tag('2.1'))
670
671 def test_simple_upstream(self):
672 self.assertTrue(is_upstream_tag('upstream-2.1'))
673
674 def test_distro_upstream(self):
675 self.assertTrue(is_upstream_tag('upstream-debian-2.1'))
676
677 def test_git_upstream(self):
678 self.assertTrue(is_upstream_tag('upstream/2.1'))
679
680
681class TestUpstreamTagVersion(TestCase):
682
683 def test_simple_upstream(self):
684 self.assertEqual('2.1', upstream_tag_version('upstream-2.1'))
685
686 def test_distro_upstream(self):
687 self.assertEqual('2.1',
688 upstream_tag_version('upstream-debian-2.1'))
689
690 def test_git_upstream(self):
691 self.assertEqual('2.1', upstream_tag_version('upstream/2.1'))
692
693
664class PristineTarSourceTests(TestCaseWithTransport):694class PristineTarSourceTests(TestCaseWithTransport):
665695
666 def setUp(self):696 def setUp(self):
667697
=== modified file 'upstream/pristinetar.py'
--- upstream/pristinetar.py 2011-06-23 21:41:36 +0000
+++ upstream/pristinetar.py 2011-06-27 10:35:50 +0000
@@ -318,3 +318,40 @@
318 else:318 else:
319 ret["deb-pristine-delta"] = uuencoded319 ret["deb-pristine-delta"] = uuencoded
320 return ret320 return ret
321
322 def iter_versions(self):
323 """Iterate over all upstream versions.
324
325 :return: Iterator over (tag_name, version, revid) tuples
326 """
327 for tag_name, tag_revid in self.branch.tags.get_tag_dict().iteritems():
328 if not is_upstream_tag(tag_name):
329 continue
330 yield (tag_name, upstream_tag_version(tag_name), tag_revid)
331
332
333def is_upstream_tag(tag):
334 """Return true if tag is an upstream tag.
335
336 :param tag: The string name of the tag.
337 :return: True if the tag name is one generated by upstream tag operations.
338 """
339 return tag.startswith('upstream-') or tag.startswith('upstream/')
340
341
342def upstream_tag_version(tag):
343 """Return the upstream version portion of an upstream tag name.
344
345 :param tag: The string name of the tag.
346 :return: The version portion of the tag.
347 """
348 assert is_upstream_tag(tag), "Not an upstream tag: %s" % tag
349 if tag.startswith('upstream/'):
350 tag = tag[len('upstream/'):]
351 elif tag.startswith('upstream-'):
352 tag = tag[len('upstream-'):]
353 if tag.startswith('debian-'):
354 tag = tag[len('debian-'):]
355 elif tag.startswith('ubuntu-'):
356 tag = tag[len('ubuntu-'):]
357 return tag

Subscribers

People subscribed via source and target branches