Merge lp:~jelmer/bzr-builddeb/merge-2 into lp:~bzr-builddeb-hackers/bzr-builddeb/trunk-old

Proposed by Jelmer Vernooij
Status: Merged
Merge reported by: James Westby
Merged at revision: not available
Proposed branch: lp:~jelmer/bzr-builddeb/merge-2
Merge into: lp:~bzr-builddeb-hackers/bzr-builddeb/trunk-old
Diff against target: None lines
To merge this branch: bzr merge lp:~jelmer/bzr-builddeb/merge-2
Reviewer Review Type Date Requested Status
James Westby Approve
Review via email: mp+5570@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Hi James,

The attached patch changes various builddeb functions that only use an
upstream version to take an upstream version string rather than a
Debian-version-specific Version object.

Cheers,

Jelmer

--

Revision history for this message
James Westby (james-w) wrote :

Merged, Thanks.

James

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 2009-03-04 13:05:56 +0000
+++ cmds.py 2009-04-15 15:08:32 +0000
@@ -701,7 +701,7 @@
701 try:701 try:
702 if last_version is not None:702 if last_version is not None:
703 if not db.has_upstream_version_in_packaging_branch(703 if not db.has_upstream_version_in_packaging_branch(
704 last_version):704 last_version.upstream_version):
705 raise BzrCommandError("Unable to find the tag for "705 raise BzrCommandError("Unable to find the tag for "
706 "the previous upstream version, %s, in the "706 "the previous upstream version, %s, in the "
707 "branch: %s" % (last_version,707 "branch: %s" % (last_version,
708708
=== modified file 'import_dsc.py'
--- import_dsc.py 2009-03-11 07:23:20 +0000
+++ import_dsc.py 2009-04-15 15:08:32 +0000
@@ -497,7 +497,8 @@
497 part of the version number from.497 part of the version number from.
498 :return: a String with the name of the tag.498 :return: a String with the name of the tag.
499 """499 """
500 tag_name = self.tag_name(version.upstream_version)500 assert isinstance(version, str)
501 tag_name = self.tag_name(version)
501 if distro is None:502 if distro is None:
502 return "upstream-" + tag_name503 return "upstream-" + tag_name
503 return "upstream-%s-%s" % (distro, tag_name)504 return "upstream-%s-%s" % (distro, tag_name)
@@ -556,8 +557,8 @@
556 string passed must the the md5sum that is associated with the557 string passed must the the md5sum that is associated with the
557 revision pointed to by the tag.558 revision pointed to by the tag.
558559
559 :param version: a Version object from which to extract the upstream560 :param version: a upstream version number to look for in the upstream
560 version number to look for in the upstream branch.561 branch.
561 :param md5: a string with the md5sum that if not None must be562 :param md5: a string with the md5sum that if not None must be
562 associated with the revision.563 associated with the revision.
563 :return: True if the upstream branch contains the specified upstream564 :return: True if the upstream branch contains the specified upstream
@@ -575,6 +576,7 @@
575 return False576 return False
576577
577 def has_upstream_version_in_packaging_branch(self, version, md5=None):578 def has_upstream_version_in_packaging_branch(self, version, md5=None):
579 assert isinstance(version, str)
578 tag_name = self.upstream_tag_name(version)580 tag_name = self.upstream_tag_name(version)
579 if self._has_version(self.branch, tag_name, md5=md5):581 if self._has_version(self.branch, tag_name, md5=md5):
580 return True582 return True
@@ -714,9 +716,10 @@
714 Sets a tag on the last revision of the upstream branch with a tag716 Sets a tag on the last revision of the upstream branch with a tag
715 that refers to the upstream part of the version provided.717 that refers to the upstream part of the version provided.
716718
717 :param version: the Version object from which to extract the upstream719 :param version: the upstream part of the version number to derive the
718 part of the version number to derive the tag name from.720 tag name from.
719 """721 """
722 assert isinstance(version, str)
720 tag_name = self.upstream_tag_name(version)723 tag_name = self.upstream_tag_name(version)
721 self.upstream_branch.tags.set_tag(tag_name,724 self.upstream_branch.tags.set_tag(tag_name,
722 self.upstream_branch.last_revision())725 self.upstream_branch.last_revision())
@@ -819,13 +822,14 @@
819 indicates that a pull should be done from that branch, rather822 indicates that a pull should be done from that branch, rather
820 than importing the upstream as a new revision in this branch.823 than importing the upstream as a new revision in this branch.
821824
822 :param version: the Version object to use the upstream part825 :param version: the upstream version to use when searching in the
823 of when searching in the lesser branches.826 lesser branches.
824 :param md5: a String containing the md5 associateed with the827 :param md5: a String containing the md5 associateed with the
825 upstream version.828 upstream version.
826 :return: a DistributionBranch object to pull the upstream from829 :return: a DistributionBranch object to pull the upstream from
827 if that is what should be done, otherwise None.830 if that is what should be done, otherwise None.
828 """831 """
832 assert isinstance(version, str)
829 assert md5 is not None, \833 assert md5 is not None, \
830 ("It's not a good idea to use branch_to_pull_upstream_from with "834 ("It's not a good idea to use branch_to_pull_upstream_from with "
831 "md5 == None, as you may pull the wrong revision.")835 "md5 == None, as you may pull the wrong revision.")
@@ -927,11 +931,12 @@
927 recognised as being part of this branch.931 recognised as being part of this branch.
928932
929 :param pull_branch: the DistributionBranch to pull from.933 :param pull_branch: the DistributionBranch to pull from.
930 :param version: the Version to use the upstream part of.934 :param version: the upstream version string
931 """935 """
936 assert isinstance(version, str)
932 pull_revision = pull_branch.revid_of_upstream_version(version)937 pull_revision = pull_branch.revid_of_upstream_version(version)
933 mutter("Pulling upstream part of %s from revision %s" % \938 mutter("Pulling upstream part of %s from revision %s" % \
934 (str(version), pull_revision))939 (version, pull_revision))
935 up_pull_branch = pull_branch.upstream_branch940 up_pull_branch = pull_branch.upstream_branch
936 assert self.upstream_tree is not None, \941 assert self.upstream_tree is not None, \
937 "Can't pull upstream with no tree"942 "Can't pull upstream with no tree"
@@ -967,9 +972,10 @@
967 assert self.tree is not None, "Can't pull branch with no tree"972 assert self.tree is not None, "Can't pull branch with no tree"
968 self.tree.pull(pull_branch.branch, stop_revision=pull_revision)973 self.tree.pull(pull_branch.branch, stop_revision=pull_revision)
969 self.tag_version(version)974 self.tag_version(version)
970 if not native and not self.has_upstream_version(version):975 if not native and not self.has_upstream_version(version.upstream_version):
971 if pull_branch.has_upstream_version(version):976 if pull_branch.has_upstream_version(version.upstream_version):
972 self.pull_upstream_from_branch(pull_branch, version)977 self.pull_upstream_from_branch(pull_branch,
978 version.upstream_version)
973 else:979 else:
974 assert False, "Can't find the needed upstream part"980 assert False, "Can't find the needed upstream part"
975 if (native and self.upstream_branch.last_revision() == NULL_REVISION981 if (native and self.upstream_branch.last_revision() == NULL_REVISION
@@ -1021,7 +1027,7 @@
1021 break1027 break
1022 real_parents = [p[2] for p in parents]1028 real_parents = [p[2] for p in parents]
1023 if need_upstream_parent:1029 if need_upstream_parent:
1024 parent_revid = self.revid_of_upstream_version(version)1030 parent_revid = self.revid_of_upstream_version(version.upstream_version)
1025 if len(parents) > 0:1031 if len(parents) > 0:
1026 real_parents.insert(1, parent_revid)1032 real_parents.insert(1, parent_revid)
1027 else:1033 else:
@@ -1063,7 +1069,7 @@
10631069
1064 :param upstream_part: the path of a directory containing the1070 :param upstream_part: the path of a directory containing the
1065 unpacked upstream part of the source package.1071 unpacked upstream part of the source package.
1066 :param version: the Version of the package that is being imported.1072 :param version: upstream version that is being imported
1067 :param md5: the md5 of the upstream part.1073 :param md5: the md5 of the upstream part.
1068 :param upstream_parents: the parents to give the upstream revision1074 :param upstream_parents: the parents to give the upstream revision
1069 """1075 """
@@ -1072,6 +1078,7 @@
1072 # from lesser branches first? For now we'll just dump it on.1078 # from lesser branches first? For now we'll just dump it on.
1073 # TODO: this method needs a lot of work for when we will make1079 # TODO: this method needs a lot of work for when we will make
1074 # the branches writeable by others.1080 # the branches writeable by others.
1081 assert isinstance(version, str)
1075 mutter("Importing upstream version %s from %s with parents %s" \1082 mutter("Importing upstream version %s from %s with parents %s" \
1076 % (version, upstream_part, str(upstream_parents)))1083 % (version, upstream_part, str(upstream_parents)))
1077 assert self.upstream_tree is not None, \1084 assert self.upstream_tree is not None, \
@@ -1104,7 +1111,7 @@
1104 uuencoded = standard_b64encode(delta)1111 uuencoded = standard_b64encode(delta)
1105 revprops["deb-pristine-delta"] = uuencoded1112 revprops["deb-pristine-delta"] = uuencoded
1106 revid = self.upstream_tree.commit("Import upstream version %s" \1113 revid = self.upstream_tree.commit("Import upstream version %s" \
1107 % (str(version.upstream_version),),1114 % (version,),
1108 revprops=revprops)1115 revprops=revprops)
1109 self.tag_upstream_version(version)1116 self.tag_upstream_version(version)
1110 return revid1117 return revid
@@ -1295,7 +1302,7 @@
1295 # upstream as a non-native version (i.e. it wasn't a mistaken1302 # upstream as a non-native version (i.e. it wasn't a mistaken
1296 # native -2 version), then we want to add an extra parent.1303 # native -2 version), then we want to add an extra parent.
1297 if (self.is_version_native(last_contained_version)1304 if (self.is_version_native(last_contained_version)
1298 and not self.has_upstream_version(last_contained_version)):1305 and not self.has_upstream_version(last_contained_version.upstream_version)):
1299 revid = self.revid_of_version(last_contained_version)1306 revid = self.revid_of_version(last_contained_version)
1300 parents.append(revid)1307 parents.append(revid)
1301 self.upstream_branch.fetch(self.branch,1308 self.upstream_branch.fetch(self.branch,
@@ -1307,7 +1314,7 @@
1307 pull_version = pull_parents[0][1]1314 pull_version = pull_parents[0][1]
1308 if not pull_branch.is_version_native(pull_version):1315 if not pull_branch.is_version_native(pull_version):
1309 pull_revid = \1316 pull_revid = \
1310 pull_branch.revid_of_upstream_version(pull_version)1317 pull_branch.revid_of_upstream_version(pull_version.upstream_version)
1311 mutter("Initialising upstream from %s, version %s" \1318 mutter("Initialising upstream from %s, version %s" \
1312 % (str(pull_branch), str(pull_version)))1319 % (str(pull_branch), str(pull_version)))
1313 parents.append(pull_revid)1320 parents.append(pull_revid)
@@ -1344,17 +1351,20 @@
1344 # We need to import at least the diff, possibly upstream.1351 # We need to import at least the diff, possibly upstream.
1345 # Work out if we need the upstream part first.1352 # Work out if we need the upstream part first.
1346 imported_upstream = False1353 imported_upstream = False
1347 if not self.has_upstream_version(version):1354 if not self.has_upstream_version(version.upstream_version):
1348 up_pull_branch = \1355 up_pull_branch = \
1349 self.branch_to_pull_upstream_from(version, upstream_md5)1356 self.branch_to_pull_upstream_from(version.upstream_version,
1357 upstream_md5)
1350 if up_pull_branch is not None:1358 if up_pull_branch is not None:
1351 self.pull_upstream_from_branch(up_pull_branch, version)1359 self.pull_upstream_from_branch(up_pull_branch,
1360 version.upstream_version)
1352 else:1361 else:
1353 imported_upstream = True1362 imported_upstream = True
1354 # Check whether we should pull first if this initialises1363 # Check whether we should pull first if this initialises
1355 # from another branch:1364 # from another branch:
1356 upstream_parents = self.upstream_parents(versions)1365 upstream_parents = self.upstream_parents(versions)
1357 new_revid = self.import_upstream(upstream_part, version,1366 new_revid = self.import_upstream(upstream_part,
1367 version.upstream_version,
1358 upstream_md5, upstream_parents,1368 upstream_md5, upstream_parents,
1359 upstream_tarball=upstream_tarball)1369 upstream_tarball=upstream_tarball)
1360 self._fetch_upstream_to_branch(new_revid)1370 self._fetch_upstream_to_branch(new_revid)
@@ -1536,7 +1546,7 @@
1536 try:1546 try:
1537 if previous_version is not None:1547 if previous_version is not None:
1538 if not self.has_upstream_version_in_packaging_branch(1548 if not self.has_upstream_version_in_packaging_branch(
1539 previous_version):1549 previous_version.upstream_version):
1540 raise BzrCommandError("Unable to find the tag for the "1550 raise BzrCommandError("Unable to find the tag for the "
1541 "previous upstream version, %s, in the branch: "1551 "previous upstream version, %s, in the branch: "
1542 "%s" % (previous_version,1552 "%s" % (previous_version,
@@ -1546,7 +1556,7 @@
1546 self._extract_upstream_tree(upstream_tip, tempdir)1556 self._extract_upstream_tree(upstream_tip, tempdir)
1547 else:1557 else:
1548 self._create_empty_upstream_tree(tempdir)1558 self._create_empty_upstream_tree(tempdir)
1549 if self.has_upstream_version_in_packaging_branch(version):1559 if self.has_upstream_version_in_packaging_branch(version.upstream_version):
1550 raise UpstreamAlreadyImported(version)1560 raise UpstreamAlreadyImported(version)
1551 try:1561 try:
1552 if upstream_branch is not None:1562 if upstream_branch is not None:
@@ -1603,6 +1613,7 @@
16031613
1604 def reconstruct_pristine_tar(self, revid, package, version,1614 def reconstruct_pristine_tar(self, revid, package, version,
1605 dest_filename):1615 dest_filename):
1616 """Reconstruct a pristine-tar tarball from a bzr revision."""
1606 if not os.path.exists("/usr/bin/pristine-tar"):1617 if not os.path.exists("/usr/bin/pristine-tar"):
1607 raise PristineTarError("/usr/bin/pristine-tar is not available")1618 raise PristineTarError("/usr/bin/pristine-tar is not available")
1608 tree = self.branch.repository.revision_tree(revid)1619 tree = self.branch.repository.revision_tree(revid)
16091620
=== modified file 'tests/test_import_dsc.py'
--- tests/test_import_dsc.py 2009-03-10 01:57:05 +0000
+++ tests/test_import_dsc.py 2009-04-15 15:08:32 +0000
@@ -103,9 +103,7 @@
103 def test_upstream_tag_name(self):103 def test_upstream_tag_name(self):
104 db = self.db1104 db = self.db1
105 upstream_v_no = "0.1"105 upstream_v_no = "0.1"
106 version_no = upstream_v_no + "-1"106 self.assertEqual(db.upstream_tag_name(upstream_v_no),
107 version = Version(version_no)
108 self.assertEqual(db.upstream_tag_name(version),
109 "upstream-" + upstream_v_no)107 "upstream-" + upstream_v_no)
110108
111 def test_tag_version(self):109 def test_tag_version(self):
@@ -120,7 +118,7 @@
120 def test_tag_upstream_version(self):118 def test_tag_upstream_version(self):
121 db = self.db1119 db = self.db1
122 tree = self.up_tree1120 tree = self.up_tree1
123 version = Version("0.1-1")121 version = "0.1"
124 revid = tree.commit("one")122 revid = tree.commit("one")
125 db.tag_upstream_version(version)123 db.tag_upstream_version(version)
126 tag_name = db.upstream_tag_name(version)124 tag_name = db.upstream_tag_name(version)
@@ -143,7 +141,7 @@
143141
144 def test_has_upstream_version(self):142 def test_has_upstream_version(self):
145 db = self.db1143 db = self.db1
146 version = Version("0.1-1")144 version = "0.1"
147 self.assertFalse(db.has_upstream_version(version))145 self.assertFalse(db.has_upstream_version(version))
148 self.assertFalse(db.has_upstream_version(version, self.fake_md5_1))146 self.assertFalse(db.has_upstream_version(version, self.fake_md5_1))
149 self.do_commit_with_md5(self.up_tree1, "one", self.fake_md5_1)147 self.do_commit_with_md5(self.up_tree1, "one", self.fake_md5_1)
@@ -151,11 +149,11 @@
151 self.assertTrue(db.has_upstream_version(version))149 self.assertTrue(db.has_upstream_version(version))
152 self.assertTrue(db.has_upstream_version(version, self.fake_md5_1))150 self.assertTrue(db.has_upstream_version(version, self.fake_md5_1))
153 self.assertFalse(db.has_upstream_version(version, self.fake_md5_2))151 self.assertFalse(db.has_upstream_version(version, self.fake_md5_2))
154 version = Version("0.1-2")152 version = "0.1"
155 self.assertTrue(db.has_upstream_version(version))153 self.assertTrue(db.has_upstream_version(version))
156 self.assertTrue(db.has_upstream_version(version, self.fake_md5_1))154 self.assertTrue(db.has_upstream_version(version, self.fake_md5_1))
157 self.assertFalse(db.has_upstream_version(version, self.fake_md5_2))155 self.assertFalse(db.has_upstream_version(version, self.fake_md5_2))
158 version = Version("0.2-1")156 version = "0.2"
159 self.assertFalse(db.has_upstream_version(version))157 self.assertFalse(db.has_upstream_version(version))
160 self.assertFalse(db.has_upstream_version(version, self.fake_md5_1))158 self.assertFalse(db.has_upstream_version(version, self.fake_md5_1))
161 self.assertFalse(db.has_upstream_version(version, self.fake_md5_2))159 self.assertFalse(db.has_upstream_version(version, self.fake_md5_2))
@@ -171,7 +169,7 @@
171 def test_revid_of_upstream_version(self):169 def test_revid_of_upstream_version(self):
172 db = self.db1170 db = self.db1
173 tree = self.up_tree1171 tree = self.up_tree1
174 version = Version("0.1-1")172 version = "0.1"
175 revid = tree.commit("one")173 revid = tree.commit("one")
176 db.tag_upstream_version(version)174 db.tag_upstream_version(version)
177 self.assertEqual(db.revid_of_upstream_version(version), revid)175 self.assertEqual(db.revid_of_upstream_version(version), revid)
@@ -363,12 +361,12 @@
363 db = self.db1361 db = self.db1
364 version1 = Version("0.1-1")362 version1 = Version("0.1-1")
365 up_revid = self.up_tree1.commit("one")363 up_revid = self.up_tree1.commit("one")
366 db.tag_upstream_version(version1)364 db.tag_upstream_version(version1.upstream_version)
367 self.assertEqual(db.get_parents_with_upstream(version1, [version1]),365 self.assertEqual(db.get_parents_with_upstream(version1, [version1]),
368 [up_revid])366 [up_revid])
369 db = self.db2367 db = self.db2
370 self.up_tree2.pull(self.up_tree1.branch)368 self.up_tree2.pull(self.up_tree1.branch)
371 db.tag_upstream_version(version1)369 db.tag_upstream_version(version1.upstream_version)
372 self.assertEqual(db.get_parents_with_upstream(version1, [version1]),370 self.assertEqual(db.get_parents_with_upstream(version1, [version1]),
373 [up_revid])371 [up_revid])
374372
@@ -379,7 +377,7 @@
379 revid1 = self.tree1.commit("one")377 revid1 = self.tree1.commit("one")
380 db.tag_version(version1)378 db.tag_version(version1)
381 up_revid = self.up_tree1.commit("upstream one")379 up_revid = self.up_tree1.commit("upstream one")
382 db.tag_upstream_version(version1)380 db.tag_upstream_version(version1.upstream_version)
383 # No upstream parent381 # No upstream parent
384 self.assertEqual(db.get_parents_with_upstream(version2,382 self.assertEqual(db.get_parents_with_upstream(version2,
385 [version2, version1]), [revid1])383 [version2, version1]), [revid1])
@@ -394,8 +392,8 @@
394 self.db2.tag_version(version2)392 self.db2.tag_version(version2)
395 up_revid1 = self.up_tree1.commit("upstream one")393 up_revid1 = self.up_tree1.commit("upstream one")
396 self.up_tree2.pull(self.up_tree1.branch)394 self.up_tree2.pull(self.up_tree1.branch)
397 self.db1.tag_upstream_version(version1)395 self.db1.tag_upstream_version(version1.upstream_version)
398 self.db2.tag_upstream_version(version2)396 self.db2.tag_upstream_version(version2.upstream_version)
399 versions = [version3, version1, version2]397 versions = [version3, version1, version2]
400 # No upstream parent398 # No upstream parent
401 self.assertEqual(self.db2.get_parents_with_upstream(version3,399 self.assertEqual(self.db2.get_parents_with_upstream(version3,
@@ -411,8 +409,8 @@
411 self.db2.tag_version(version2)409 self.db2.tag_version(version2)
412 up_revid1 = self.up_tree1.commit("upstream one")410 up_revid1 = self.up_tree1.commit("upstream one")
413 self.up_tree2.pull(self.up_tree1.branch)411 self.up_tree2.pull(self.up_tree1.branch)
414 self.db1.tag_upstream_version(version1)412 self.db1.tag_upstream_version(version1.upstream_version)
415 self.db2.tag_upstream_version(version2)413 self.db2.tag_upstream_version(version2.upstream_version)
416 versions = [version3, version2, version1]414 versions = [version3, version2, version1]
417 # No upstream parent415 # No upstream parent
418 self.assertEqual(self.db1.get_parents_with_upstream(version3,416 self.assertEqual(self.db1.get_parents_with_upstream(version3,
@@ -427,8 +425,8 @@
427 self.db2.tag_version(version1)425 self.db2.tag_version(version1)
428 up_revid1 = self.up_tree1.commit("upstream one")426 up_revid1 = self.up_tree1.commit("upstream one")
429 up_revid2 = self.up_tree2.commit("upstream two")427 up_revid2 = self.up_tree2.commit("upstream two")
430 self.db1.tag_upstream_version(version1)428 self.db1.tag_upstream_version(version1.upstream_version)
431 self.db2.tag_upstream_version(version2)429 self.db2.tag_upstream_version(version2.upstream_version)
432 versions = [version2, version1]430 versions = [version2, version1]
433 # Upstream parent as it is new upstream version431 # Upstream parent as it is new upstream version
434 self.assertEqual(self.db2.get_parents_with_upstream(version2,432 self.assertEqual(self.db2.get_parents_with_upstream(version2,
@@ -446,13 +444,13 @@
446 revid3 = self.tree1.commit("three")444 revid3 = self.tree1.commit("three")
447 self.db1.tag_version(version3)445 self.db1.tag_version(version3)
448 up_revid1 = self.up_tree1.commit("upstream one")446 up_revid1 = self.up_tree1.commit("upstream one")
449 self.db1.tag_upstream_version(version1)447 self.db1.tag_upstream_version(version1.upstream_version)
450 self.up_tree2.pull(self.up_tree1.branch)448 self.up_tree2.pull(self.up_tree1.branch)
451 self.db2.tag_upstream_version(version2)449 self.db2.tag_upstream_version(version2.upstream_version)
452 up_revid2 = self.up_tree1.commit("upstream two")450 up_revid2 = self.up_tree1.commit("upstream two")
453 self.db1.tag_upstream_version(version3)451 self.db1.tag_upstream_version(version3.upstream_version)
454 self.up_tree2.pull(self.up_tree1.branch)452 self.up_tree2.pull(self.up_tree1.branch)
455 self.db2.tag_upstream_version(version4)453 self.db2.tag_upstream_version(version4.upstream_version)
456 versions = [version4, version3, version2, version1]454 versions = [version4, version3, version2, version1]
457 # no upstream parent as the lesser branch has already merged it455 # no upstream parent as the lesser branch has already merged it
458 self.assertEqual(self.db2.get_parents_with_upstream(version4,456 self.assertEqual(self.db2.get_parents_with_upstream(version4,
@@ -464,9 +462,9 @@
464 revid1 = self.tree1.commit("one")462 revid1 = self.tree1.commit("one")
465 self.db1.tag_version(version1)463 self.db1.tag_version(version1)
466 up_revid1 = self.up_tree1.commit("upstream one")464 up_revid1 = self.up_tree1.commit("upstream one")
467 self.db1.tag_upstream_version(version1)465 self.db1.tag_upstream_version(version1.upstream_version)
468 up_revid2 = self.up_tree2.commit("different upstream one")466 up_revid2 = self.up_tree2.commit("different upstream one")
469 self.db2.tag_upstream_version(version2)467 self.db2.tag_upstream_version(version2.upstream_version)
470 versions = [version2, version1]468 versions = [version2, version1]
471 # a previous test checked that this wouldn't give an469 # a previous test checked that this wouldn't give an
472 # upstream parent, but we are requiring one.470 # upstream parent, but we are requiring one.
@@ -485,9 +483,9 @@
485 self.db2.tag_version(version2)483 self.db2.tag_version(version2)
486 self.db1.tag_version(version3)484 self.db1.tag_version(version3)
487 up_revid1 = self.up_tree1.commit("upstream one")485 up_revid1 = self.up_tree1.commit("upstream one")
488 self.db1.tag_upstream_version(version1)486 self.db1.tag_upstream_version(version1.upstream_version)
489 self.up_tree2.pull(self.up_tree1.branch)487 self.up_tree2.pull(self.up_tree1.branch)
490 self.db2.tag_upstream_version(version2)488 self.db2.tag_upstream_version(version2.upstream_version)
491 versions = [version3, version2, version1]489 versions = [version3, version2, version1]
492 # This is a sync but we are diverged so we should get two490 # This is a sync but we are diverged so we should get two
493 # parents491 # parents
@@ -505,11 +503,11 @@
505 self.db2.tag_version(version2)503 self.db2.tag_version(version2)
506 self.db1.tag_version(version3)504 self.db1.tag_version(version3)
507 up_revid1 = self.up_tree1.commit("upstream one")505 up_revid1 = self.up_tree1.commit("upstream one")
508 self.db1.tag_upstream_version(version1)506 self.db1.tag_upstream_version(version1.upstream_version)
509 self.up_tree2.pull(self.up_tree1.branch)507 self.up_tree2.pull(self.up_tree1.branch)
510 self.db2.tag_upstream_version(version2)508 self.db2.tag_upstream_version(version2.upstream_version)
511 up_revid2 = self.up_tree1.commit("upstream two")509 up_revid2 = self.up_tree1.commit("upstream two")
512 self.db1.tag_upstream_version(version3)510 self.db1.tag_upstream_version(version3.upstream_version)
513 versions = [version3, version2, version1]511 versions = [version3, version2, version1]
514 # This a sync, but we are diverged, so we should get two512 # This a sync, but we are diverged, so we should get two
515 # parents. There should be no upstream as the synced513 # parents. There should be no upstream as the synced
@@ -528,14 +526,14 @@
528 self.db2.tag_version(version2)526 self.db2.tag_version(version2)
529 self.db1.tag_version(version3)527 self.db1.tag_version(version3)
530 up_revid1 = self.up_tree1.commit("upstream one")528 up_revid1 = self.up_tree1.commit("upstream one")
531 self.db1.tag_upstream_version(version1)529 self.db1.tag_upstream_version(version1.upstream_version)
532 self.up_tree2.pull(self.up_tree1.branch)530 self.up_tree2.pull(self.up_tree1.branch)
533 self.db2.tag_upstream_version(version2)531 self.db2.tag_upstream_version(version2.upstream_version)
534 up_revid2 = self.up_tree1.commit("upstream two")532 up_revid2 = self.up_tree1.commit("upstream two")
535 self.db1.tag_upstream_version(version3)533 self.db1.tag_upstream_version(version3.upstream_version)
536 versions = [version3, version2, version1]534 versions = [version3, version2, version1]
537 up_revid3 = self.up_tree2.commit("different upstream two")535 up_revid3 = self.up_tree2.commit("different upstream two")
538 self.db2.tag_upstream_version(version3)536 self.db2.tag_upstream_version(version3.upstream_version)
539 versions = [version3, version2, version1]537 versions = [version3, version2, version1]
540 # test_get_parents_with_upstream_sync_new_upstream538 # test_get_parents_with_upstream_sync_new_upstream
541 # checks that there is not normally an upstream parent539 # checks that there is not normally an upstream parent
@@ -602,57 +600,57 @@
602 version1 = Version("0.1-1")600 version1 = Version("0.1-1")
603 version2 = Version("0.2-1")601 version2 = Version("0.2-1")
604 # With no versions tagged everything is None602 # With no versions tagged everything is None
605 branch = self.db2.branch_to_pull_upstream_from(version1,603 branch = self.db2.branch_to_pull_upstream_from(
606 self.fake_md5_1)604 version1.upstream_version, self.fake_md5_1)
607 self.assertEqual(branch, None)605 self.assertEqual(branch, None)
608 branch = self.db2.branch_to_pull_upstream_from(version1,606 branch = self.db2.branch_to_pull_upstream_from(
609 self.fake_md5_2)607 version1.upstream_version, self.fake_md5_2)
610 self.assertEqual(branch, None)608 self.assertEqual(branch, None)
611 branch = self.db1.branch_to_pull_upstream_from(version1,609 branch = self.db1.branch_to_pull_upstream_from(
612 self.fake_md5_1)610 version1.upstream_version, self.fake_md5_1)
613 self.assertEqual(branch, None)611 self.assertEqual(branch, None)
614 self.do_commit_with_md5(self.up_tree1, "one", self.fake_md5_1)612 self.do_commit_with_md5(self.up_tree1, "one", self.fake_md5_1)
615 self.db1.tag_upstream_version(version1)613 self.db1.tag_upstream_version(version1.upstream_version)
616 # Version and md5 available, so we get the correct branch.614 # Version and md5 available, so we get the correct branch.
617 branch = self.db2.branch_to_pull_upstream_from(version1,615 branch = self.db2.branch_to_pull_upstream_from(
618 self.fake_md5_1)616 version1.upstream_version, self.fake_md5_1)
619 self.assertEqual(branch, self.db1)617 self.assertEqual(branch, self.db1)
620 # Otherwise (different version or md5) then we get None618 # Otherwise (different version or md5) then we get None
621 branch = self.db2.branch_to_pull_upstream_from(version1,619 branch = self.db2.branch_to_pull_upstream_from(
622 self.fake_md5_2)620 version1.upstream_version, self.fake_md5_2)
623 self.assertEqual(branch, None)621 self.assertEqual(branch, None)
624 branch = self.db2.branch_to_pull_upstream_from(version2,622 branch = self.db2.branch_to_pull_upstream_from(version2.upstream_version,
625 self.fake_md5_1)623 self.fake_md5_1)
626 self.assertEqual(branch, None)624 self.assertEqual(branch, None)
627 branch = self.db2.branch_to_pull_upstream_from(version2,625 branch = self.db2.branch_to_pull_upstream_from(version2.upstream_version,
628 self.fake_md5_2)626 self.fake_md5_2)
629 self.assertEqual(branch, None)627 self.assertEqual(branch, None)
630 # And we don't get a branch for the one that already has628 # And we don't get a branch for the one that already has
631 # the version629 # the version
632 branch = self.db1.branch_to_pull_upstream_from(version1,630 branch = self.db1.branch_to_pull_upstream_from(
633 self.fake_md5_1)631 version1.upstream_version, self.fake_md5_1)
634 self.assertEqual(branch, None)632 self.assertEqual(branch, None)
635 self.up_tree2.pull(self.up_tree1.branch)633 self.up_tree2.pull(self.up_tree1.branch)
636 self.db2.tag_upstream_version(version1)634 self.db2.tag_upstream_version(version1.upstream_version)
637 # And we get the greatest branch when two lesser branches635 # And we get the greatest branch when two lesser branches
638 # have what we are looking for.636 # have what we are looking for.
639 branch = self.db3.branch_to_pull_upstream_from(version1,637 branch = self.db3.branch_to_pull_upstream_from(
640 self.fake_md5_1)638 version1.upstream_version, self.fake_md5_1)
641 self.assertEqual(branch, self.db2)639 self.assertEqual(branch, self.db2)
642 # If the branches have diverged then we don't get a branch.640 # If the branches have diverged then we don't get a branch.
643 self.up_tree3.commit("three")641 self.up_tree3.commit("three")
644 branch = self.db3.branch_to_pull_upstream_from(version1,642 branch = self.db3.branch_to_pull_upstream_from(
645 self.fake_md5_1)643 version1.upstream_version, self.fake_md5_1)
646 self.assertEqual(branch, None)644 self.assertEqual(branch, None)
647645
648 def test_pull_from_lesser_branch_no_upstream(self):646 def test_pull_from_lesser_branch_no_upstream(self):
649 version = Version("0.1-1")647 version = Version("0.1-1")
650 self.do_commit_with_md5(self.up_tree1, "upstream one",648 self.do_commit_with_md5(self.up_tree1, "upstream one",
651 self.fake_md5_1)649 self.fake_md5_1)
652 self.db1.tag_upstream_version(version)650 self.db1.tag_upstream_version(version.upstream_version)
653 up_revid = self.do_commit_with_md5(self.up_tree2, "upstream two",651 up_revid = self.do_commit_with_md5(self.up_tree2, "upstream two",
654 self.fake_md5_1)652 self.fake_md5_1)
655 self.db2.tag_upstream_version(version)653 self.db2.tag_upstream_version(version.upstream_version)
656 revid = self.do_commit_with_md5(self.tree1, "one", self.fake_md5_2)654 revid = self.do_commit_with_md5(self.tree1, "one", self.fake_md5_2)
657 self.db1.tag_version(version)655 self.db1.tag_version(version)
658 self.assertNotEqual(self.tree2.branch.last_revision(), revid)656 self.assertNotEqual(self.tree2.branch.last_revision(), revid)
@@ -660,14 +658,14 @@
660 self.assertEqual(self.tree2.branch.last_revision(), revid)658 self.assertEqual(self.tree2.branch.last_revision(), revid)
661 self.assertEqual(self.up_tree2.branch.last_revision(), up_revid)659 self.assertEqual(self.up_tree2.branch.last_revision(), up_revid)
662 self.assertEqual(self.db2.revid_of_version(version), revid)660 self.assertEqual(self.db2.revid_of_version(version), revid)
663 self.assertEqual(self.db2.revid_of_upstream_version(version),661 self.assertEqual(self.db2.revid_of_upstream_version(
664 up_revid)662 version.upstream_version), up_revid)
665663
666 def test_pull_from_lesser_branch_with_upstream(self):664 def test_pull_from_lesser_branch_with_upstream(self):
667 version = Version("0.1-1")665 version = Version("0.1-1")
668 up_revid = self.do_commit_with_md5(self.up_tree1, "upstream one",666 up_revid = self.do_commit_with_md5(self.up_tree1, "upstream one",
669 self.fake_md5_1)667 self.fake_md5_1)
670 self.db1.tag_upstream_version(version)668 self.db1.tag_upstream_version(version.upstream_version)
671 revid = self.do_commit_with_md5(self.tree1, "one", self.fake_md5_2)669 revid = self.do_commit_with_md5(self.tree1, "one", self.fake_md5_2)
672 self.db1.tag_version(version)670 self.db1.tag_version(version)
673 self.assertNotEqual(self.tree2.branch.last_revision(), revid)671 self.assertNotEqual(self.tree2.branch.last_revision(), revid)
@@ -676,11 +674,11 @@
676 self.assertEqual(self.tree2.branch.last_revision(), revid)674 self.assertEqual(self.tree2.branch.last_revision(), revid)
677 self.assertEqual(self.up_tree2.branch.last_revision(), up_revid)675 self.assertEqual(self.up_tree2.branch.last_revision(), up_revid)
678 self.assertEqual(self.db2.revid_of_version(version), revid)676 self.assertEqual(self.db2.revid_of_version(version), revid)
679 self.assertEqual(self.db2.revid_of_upstream_version(version),677 self.assertEqual(self.db2.revid_of_upstream_version(
680 up_revid)678 version.upstream_version), up_revid)
681679
682 def test_pull_upstream_from_branch(self):680 def test_pull_upstream_from_branch(self):
683 version = Version("0.1-1")681 version = "0.1"
684 up_revid = self.do_commit_with_md5(self.up_tree1, "upstream one",682 up_revid = self.do_commit_with_md5(self.up_tree1, "upstream one",
685 self.fake_md5_1)683 self.fake_md5_1)
686 self.db1.tag_upstream_version(version)684 self.db1.tag_upstream_version(version)
@@ -752,12 +750,14 @@
752 os.mkdir(basedir)750 os.mkdir(basedir)
753 write_to_file(os.path.join(basedir, "README"), "Hi\n")751 write_to_file(os.path.join(basedir, "README"), "Hi\n")
754 write_to_file(os.path.join(basedir, "BUGS"), "")752 write_to_file(os.path.join(basedir, "BUGS"), "")
755 self.db1.import_upstream(basedir, version, self.fake_md5_1, [])753 self.db1.import_upstream(basedir, version.upstream_version,
754 self.fake_md5_1, [])
756 tree = self.up_tree1755 tree = self.up_tree1
757 branch = tree.branch756 branch = tree.branch
758 rh = branch.revision_history()757 rh = branch.revision_history()
759 self.assertEqual(len(rh), 1)758 self.assertEqual(len(rh), 1)
760 self.assertEqual(self.db1.revid_of_upstream_version(version), rh[0])759 self.assertEqual(self.db1.revid_of_upstream_version(
760 version.upstream_version), rh[0])
761 rev = branch.repository.get_revision(rh[0])761 rev = branch.repository.get_revision(rh[0])
762 self.assertEqual(rev.message,762 self.assertEqual(rev.message,
763 "Import upstream version %s" % str(version.upstream_version))763 "Import upstream version %s" % str(version.upstream_version))
@@ -772,19 +772,21 @@
772 write_to_file(os.path.join(basedir, "README"), "Hi\n")772 write_to_file(os.path.join(basedir, "README"), "Hi\n")
773 write_to_file(os.path.join(basedir, "BUGS"), "")773 write_to_file(os.path.join(basedir, "BUGS"), "")
774 write_to_file(os.path.join(basedir, "COPYING"), "")774 write_to_file(os.path.join(basedir, "COPYING"), "")
775 self.db1.import_upstream(basedir, version1, self.fake_md5_1, [])775 self.db1.import_upstream(basedir, version1.upstream_version,
776 self.fake_md5_1, [])
776 basedir = name + "-" + str(version2.upstream_version)777 basedir = name + "-" + str(version2.upstream_version)
777 os.mkdir(basedir)778 os.mkdir(basedir)
778 write_to_file(os.path.join(basedir, "README"), "Now even better\n")779 write_to_file(os.path.join(basedir, "README"), "Now even better\n")
779 write_to_file(os.path.join(basedir, "BUGS"), "")780 write_to_file(os.path.join(basedir, "BUGS"), "")
780 write_to_file(os.path.join(basedir, "NEWS"), "")781 write_to_file(os.path.join(basedir, "NEWS"), "")
781 self.db1.import_upstream(basedir, version2, self.fake_md5_2,782 self.db1.import_upstream(basedir, version2.upstream_version,
783 self.fake_md5_2,
782 [self.up_tree1.branch.last_revision()])784 [self.up_tree1.branch.last_revision()])
783 tree = self.up_tree1785 tree = self.up_tree1
784 branch = tree.branch786 branch = tree.branch
785 rh = branch.revision_history()787 rh = branch.revision_history()
786 self.assertEqual(len(rh), 2)788 self.assertEqual(len(rh), 2)
787 self.assertEqual(self.db1.revid_of_upstream_version(version2), rh[1])789 self.assertEqual(self.db1.revid_of_upstream_version(version2.upstream_version), rh[1])
788 rev = branch.repository.get_revision(rh[1])790 rev = branch.repository.get_revision(rh[1])
789 self.assertEqual(rev.message,791 self.assertEqual(rev.message,
790 "Import upstream version %s" % str(version2.upstream_version))792 "Import upstream version %s" % str(version2.upstream_version))
@@ -1201,7 +1203,8 @@
1201 self.assertEqual(self.db1.revid_of_version(version1), rh1[1])1203 self.assertEqual(self.db1.revid_of_version(version1), rh1[1])
1202 self.assertEqual(self.db1.revid_of_version(version2), rh1[2])1204 self.assertEqual(self.db1.revid_of_version(version2), rh1[2])
1203 self.assertEqual(self.db1.revid_of_version(version3), rh1[3])1205 self.assertEqual(self.db1.revid_of_version(version3), rh1[3])
1204 self.assertEqual(self.db1.revid_of_upstream_version(version1),1206 self.assertEqual(
1207 self.db1.revid_of_upstream_version(version1.upstream_version),
1205 up_rh1[0])1208 up_rh1[0])
1206 self.tree1.lock_read()1209 self.tree1.lock_read()
1207 self.addCleanup(self.tree1.unlock)1210 self.addCleanup(self.tree1.unlock)
@@ -1252,9 +1255,11 @@
1252 self.assertEqual(self.db1.revid_of_version(version1), rh1[1])1255 self.assertEqual(self.db1.revid_of_version(version1), rh1[1])
1253 self.assertEqual(self.db1.revid_of_version(version2), rh1[2])1256 self.assertEqual(self.db1.revid_of_version(version2), rh1[2])
1254 self.assertEqual(self.db1.revid_of_version(version3), rh1[3])1257 self.assertEqual(self.db1.revid_of_version(version3), rh1[3])
1255 self.assertEqual(self.db1.revid_of_upstream_version(version1),1258 self.assertEqual(
1259 self.db1.revid_of_upstream_version(version1.upstream_version),
1256 up_rh1[0])1260 up_rh1[0])
1257 self.assertEqual(self.db1.revid_of_upstream_version(version3),1261 self.assertEqual(
1262 self.db1.revid_of_upstream_version(version3.upstream_version),
1258 up_rh1[1])1263 up_rh1[1])
1259 self.tree1.lock_read()1264 self.tree1.lock_read()
1260 self.addCleanup(self.tree1.unlock)1265 self.addCleanup(self.tree1.unlock)
@@ -1304,9 +1309,11 @@
1304 self.assertEqual(self.db1.revid_of_version(version1), rh1[1])1309 self.assertEqual(self.db1.revid_of_version(version1), rh1[1])
1305 self.assertEqual(self.db1.revid_of_version(version2), rh1[2])1310 self.assertEqual(self.db1.revid_of_version(version2), rh1[2])
1306 self.assertEqual(self.db1.revid_of_version(version3), rh1[3])1311 self.assertEqual(self.db1.revid_of_version(version3), rh1[3])
1307 self.assertEqual(self.db1.revid_of_upstream_version(version1),1312 self.assertEqual(
1313 self.db1.revid_of_upstream_version(version1.upstream_version),
1308 up_rh1[0])1314 up_rh1[0])
1309 self.assertEqual(self.db1.revid_of_upstream_version(version3),1315 self.assertEqual(
1316 self.db1.revid_of_upstream_version(version3.upstream_version),
1310 up_rh1[1])1317 up_rh1[1])
1311 self.tree1.lock_read()1318 self.tree1.lock_read()
1312 self.addCleanup(self.tree1.unlock)1319 self.addCleanup(self.tree1.unlock)
13131320
=== modified file 'tests/test_upstream.py'
--- tests/test_upstream.py 2009-03-08 23:18:01 +0000
+++ tests/test_upstream.py 2009-04-15 15:08:32 +0000
@@ -109,15 +109,15 @@
109 self.tree = None109 self.tree = None
110 self.branch = None110 self.branch = None
111 self.package = None111 self.package = None
112 self.version = None112 self.upstream_version = None
113 self.target_filename = None113 self.target_filename = None
114114
115 def provide(self, tree, branch, package, version, target_filename):115 def provide(self, tree, branch, package, upstream_version, target_filename):
116 self.called_times += 1116 self.called_times += 1
117 self.tree = tree117 self.tree = tree
118 self.branch = branch118 self.branch = branch
119 self.package = package119 self.package = package
120 self.version = version120 self.upstream_version = upstream_version
121 self.target_filename = target_filename121 self.target_filename = target_filename
122 if self.find:122 if self.find:
123 self.create_target(target_filename)123 self.create_target(target_filename)
124124
=== modified file 'upstream.py'
--- upstream.py 2009-03-07 23:54:46 +0000
+++ upstream.py 2009-04-15 15:08:32 +0000
@@ -276,7 +276,7 @@
276 def provide_with_pristine_tar(self, target_dir):276 def provide_with_pristine_tar(self, target_dir):
277 target_filename = os.path.join(target_dir, self._tarball_name())277 target_filename = os.path.join(target_dir, self._tarball_name())
278 return self._pristine_provider(self.tree, self.branch, self.package,278 return self._pristine_provider(self.tree, self.branch, self.package,
279 self.version, target_filename)279 self.version.upstream_version, target_filename)
280280
281 def provide_with_get_orig_source(self, target_dir):281 def provide_with_get_orig_source(self, target_dir):
282 if self.larstiq:282 if self.larstiq:

Subscribers

People subscribed via source and target branches