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

Proposed by Jelmer Vernooij
Status: Rejected
Rejected by: Jelmer Vernooij
Proposed branch: lp:~jelmer/bzr-builddeb/merge-6
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-6
Reviewer Review Type Date Requested Status
Robert Collins (community) Needs Fixing
Bzr-builddeb-hackers Pending
Review via email: mp+5610@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

The attached patch makes exporting the upstream source from a branch
possible when not working in merge mode.

Cheers,

Jelmer

Revision history for this message
Robert Collins (lifeless) wrote :

Tests?

review: Needs Fixing

Unmerged revisions

Recent revisions are not available due to the source branch being remote.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'cmds.py'
--- cmds.py 2009-04-15 11:50:06 +0000
+++ cmds.py 2009-04-16 12:23:13 +0000
@@ -304,30 +304,29 @@
304 source = True304 source = True
305 return branch, build_options, source305 return branch, build_options, source
306306
307 def _get_upstream_branch(self, merge, export_upstream,307 def _get_upstream_branch(self, export_upstream,
308 export_upstream_revision, config):308 export_upstream_revision, config):
309 upstream_branch = None309 upstream_branch = None
310 upstream_revision = None310 upstream_revision = None
311 if merge:311 if export_upstream is None:
312 if export_upstream is None:312 export_upstream = config.export_upstream
313 export_upstream = config.export_upstream313 if export_upstream:
314 if export_upstream:314 upstream_branch = Branch.open(export_upstream)
315 upstream_branch = Branch.open(export_upstream)315 upstream_branch.lock_read()
316 upstream_branch.lock_read()316 try:
317 try:317 if export_upstream_revision is None:
318 if export_upstream_revision is None:318 export_upstream_revision = \
319 export_upstream_revision = \319 config.export_upstream_revision
320 config.export_upstream_revision320 if export_upstream_revision is None:
321 if export_upstream_revision is None:321 upstream_revision = \
322 upstream_revision = \322 upstream_branch.last_revision()
323 upstream_branch.last_revision()323 else:
324 else:324 upstream_revspec = RevisionSpec.from_string(
325 upstream_revspec = RevisionSpec.from_string(325 export_upstream_revision)
326 export_upstream_revision)326 upstream_revision = \
327 upstream_revision = \327 upstream_revspec.as_revision_id(upstream_branch)
328 upstream_revspec.as_revision_id(upstream_branch)328 finally:
329 finally:329 upstream_branch.unlock()
330 upstream_branch.unlock()
331 return (upstream_branch, upstream_revision)330 return (upstream_branch, upstream_revision)
332331
333 def run(self, branch_or_build_options_list=None, verbose=False,332 def run(self, branch_or_build_options_list=None, verbose=False,
@@ -358,8 +357,9 @@
358 result_dir, build_dir, orig_dir = self._get_dirs(config, is_local,357 result_dir, build_dir, orig_dir = self._get_dirs(config, is_local,
359 result_dir, result, build_dir, orig_dir)358 result_dir, result, build_dir, orig_dir)
360359
360 config.version = changelog.version
361 upstream_branch, upstream_revision = \361 upstream_branch, upstream_revision = \
362 self._get_upstream_branch(merge, export_upstream,362 self._get_upstream_branch(export_upstream,
363 export_upstream_revision, config)363 export_upstream_revision, config)
364364
365 upstream_provider = UpstreamProvider(tree, branch,365 upstream_provider = UpstreamProvider(tree, branch,
366366
=== modified file 'import_dsc.py'
--- import_dsc.py 2009-03-11 07:23:20 +0000
+++ import_dsc.py 2009-04-15 22:04:11 +0000
@@ -548,7 +548,7 @@
548 return True548 return True
549 return False549 return False
550550
551 def has_upstream_version(self, version, md5=None):551 def has_upstream_version(self, version, package=None, md5=None):
552 """Whether this branch contains the upstream version specified.552 """Whether this branch contains the upstream version specified.
553553
554 The version must be judged present by having the appropriate tag554 The version must be judged present by having the appropriate tag
@@ -563,27 +563,28 @@
563 :return: True if the upstream branch contains the specified upstream563 :return: True if the upstream branch contains the specified upstream
564 version of the package. False otherwise.564 version of the package. False otherwise.
565 """565 """
566 tag_name = self.upstream_tag_name(version)566 for tag_name in self.possible_upstream_tag_names(version, package):
567 if self._has_version(self.upstream_branch, tag_name, md5=md5):567 if self._has_version(self.upstream_branch, tag_name, md5=md5):
568 return True568 return True
569 tag_name = self.upstream_tag_name(version, distro="debian")
570 if self._has_version(self.upstream_branch, tag_name, md5=md5):
571 return True
572 tag_name = self.upstream_tag_name(version, distro="ubuntu")
573 if self._has_version(self.upstream_branch, tag_name, md5=md5):
574 return True
575 return False569 return False
576570
577 def has_upstream_version_in_packaging_branch(self, version, md5=None):571 def possible_upstream_tag_names(self, version, package=None):
578 tag_name = self.upstream_tag_name(version)572 tags = [self.upstream_tag_name(version),
579 if self._has_version(self.branch, tag_name, md5=md5):573 self.upstream_tag_name(version, distro="debian"),
580 return True574 self.upstream_tag_name(version, distro="ubuntu")]
581 tag_name = self.upstream_tag_name(version, distro="debian")575 if package is not None:
582 if self._has_version(self.branch, tag_name, md5=md5):576 tags.extend(["%s-%s" % (package, version),
583 return True577 "%s-%s" % (package, version)])
584 tag_name = self.upstream_tag_name(version, distro="ubuntu")578 tags.extend(["v%s" % version,
585 if self._has_version(self.branch, tag_name, md5=md5):579 "release-%s" % version,
586 return True580 version])
581 return tags
582
583 def has_upstream_version_in_packaging_branch(self, version, package=None,
584 md5=None):
585 for tag_name in self.possible_upstream_tag_names(version, package):
586 if self._has_version(self.branch, tag_name, md5=md5):
587 return True
587 return False588 return False
588589
589 def contained_versions(self, versions):590 def contained_versions(self, versions):
@@ -673,7 +674,7 @@
673 return self.branch.tags.lookup_tag(ubuntu_tag_name)674 return self.branch.tags.lookup_tag(ubuntu_tag_name)
674 return self.branch.tags.lookup_tag(tag_name)675 return self.branch.tags.lookup_tag(tag_name)
675676
676 def revid_of_upstream_version(self, version):677 def revid_of_upstream_version(self, version, package=None):
677 """Returns the revision id corresponding to the upstream version.678 """Returns the revision id corresponding to the upstream version.
678679
679 :param version: the Version object to extract the upstream version680 :param version: the Version object to extract the upstream version
@@ -682,15 +683,9 @@
682 :return: the revision id corresponding to the upstream portion683 :return: the revision id corresponding to the upstream portion
683 of the version684 of the version
684 """685 """
685 tag_name = self.upstream_tag_name(version)686 for tag_name in self.possible_upstream_tag_names(version, package):
686 if self._has_version(self.upstream_branch, tag_name):687 if self._has_version(self.upstream_branch, tag_name):
687 return self.upstream_branch.tags.lookup_tag(tag_name)688 return self.upstream_branch.tags.lookup_tag(tag_name)
688 tag_name = self.upstream_tag_name(version, distro="debian")
689 if self._has_version(self.upstream_branch, tag_name):
690 return self.upstream_branch.tags.lookup_tag(tag_name)
691 tag_name = self.upstream_tag_name(version, distro="ubuntu")
692 if self._has_version(self.upstream_branch, tag_name):
693 return self.upstream_branch.tags.lookup_tag(tag_name)
694 tag_name = self.upstream_tag_name(version)689 tag_name = self.upstream_tag_name(version)
695 return self.upstream_branch.tags.lookup_tag(tag_name)690 return self.upstream_branch.tags.lookup_tag(tag_name)
696691
@@ -1515,16 +1510,10 @@
1515 shutil.rmtree(tempdir)1510 shutil.rmtree(tempdir)
1516 raise1511 raise
15171512
1518 def _revid_of_upstream_version_from_branch(self, version):1513 def _revid_of_upstream_version_from_branch(self, version, package=None):
1519 tag_name = self.upstream_tag_name(version)1514 for tag_name in self.possible_upstream_tag_names(version, package):
1520 if self._has_version(self.branch, tag_name):1515 if self._has_version(self.branch, tag_name):
1521 return self.branch.tags.lookup_tag(tag_name)1516 return self.branch.tags.lookup_tag(tag_name)
1522 tag_name = self.upstream_tag_name(version, distro="debian")
1523 if self._has_version(self.branch, tag_name):
1524 return self.branch.tags.lookup_tag(tag_name)
1525 tag_name = self.upstream_tag_name(version, distro="ubuntu")
1526 if self._has_version(self.branch, tag_name):
1527 return self.branch.tags.lookup_tag(tag_name)
1528 tag_name = self.upstream_tag_name(version)1517 tag_name = self.upstream_tag_name(version)
1529 return self.branch.tags.lookup_tag(tag_name)1518 return self.branch.tags.lookup_tag(tag_name)
15301519

Subscribers

People subscribed via source and target branches