Merge lp:~jelmer/bzr-builddeb/simplify-merge-upstream into lp:bzr-builddeb

Proposed by Jelmer Vernooij
Status: Merged
Merged at revision: not available
Proposed branch: lp:~jelmer/bzr-builddeb/simplify-merge-upstream
Merge into: lp:bzr-builddeb
Diff against target: 69 lines (+24/-20)
1 file modified
import_dsc.py (+24/-20)
To merge this branch: bzr merge lp:~jelmer/bzr-builddeb/simplify-merge-upstream
Reviewer Review Type Date Requested Status
Bzr-builddeb-hackers Pending
Review via email: mp+23196@code.launchpad.net

Description of the change

This simplifies merge_upstream() a bit, it's quite a big method and hard to understand :-)

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'import_dsc.py'
2--- import_dsc.py 2010-03-30 18:36:31 +0000
3+++ import_dsc.py 2010-04-11 21:11:13 +0000
4@@ -1329,9 +1329,9 @@
5 def _extract_tarball_to_tempdir(self, tarball_filename):
6 tempdir = tempfile.mkdtemp()
7 if tarball_filename.endswith(".tar.bz2"):
8- tar_args = 'xjf'
9+ tar_args = 'xjf'
10 else:
11- tar_args = 'xzf'
12+ tar_args = 'xzf'
13 try:
14 proc = subprocess.Popen(["tar", tar_args, tarball_filename, "-C",
15 tempdir, "--strip-components", "1"],
16@@ -1365,6 +1365,26 @@
17
18 _revid_of_upstream_version_from_branch = revid_of_upstream_version_from_branch
19
20+ def _export_previous_upstream_tree(self, previous_version, tempdir, upstream_branch=None):
21+ previous_upstream_revision = get_snapshot_revision(previous_version.upstream_version)
22+ if self.has_upstream_version_in_packaging_branch(
23+ previous_version.upstream_version):
24+ upstream_tip = self.revid_of_upstream_version_from_branch(
25+ previous_version.upstream_version)
26+ self.extract_upstream_tree(upstream_tip, tempdir)
27+ elif (upstream_branch is not None and
28+ previous_upstream_revision is not None):
29+ upstream_tip = RevisionSpec.from_string(previous_upstream_revision).as_revision_id(upstream_branch)
30+ assert isinstance(upstream_tip, str)
31+ self.extract_upstream_tree(upstream_tip, tempdir)
32+ else:
33+ raise BzrCommandError("Unable to find the tag for the "
34+ "previous upstream version, %s, in the branch: "
35+ "%s" % (
36+ previous_version.upstream_version,
37+ self.upstream_tag_name(
38+ previous_version.upstream_version)))
39+
40 def merge_upstream(self, tarball_filename, version, previous_version,
41 upstream_branch=None, upstream_revision=None, merge_type=None,
42 force=False):
43@@ -1373,24 +1393,8 @@
44 tempdir = tempfile.mkdtemp(dir=os.path.join(self.tree.basedir, '..'))
45 try:
46 if previous_version is not None:
47- previous_upstream_revision = get_snapshot_revision(previous_version.upstream_version)
48- if self.has_upstream_version_in_packaging_branch(
49- previous_version.upstream_version):
50- upstream_tip = self.revid_of_upstream_version_from_branch(
51- previous_version.upstream_version)
52- self.extract_upstream_tree(upstream_tip, tempdir)
53- elif (upstream_branch is not None and
54- previous_upstream_revision is not None):
55- upstream_tip = RevisionSpec.from_string(previous_upstream_revision).as_revision_id(upstream_branch)
56- assert isinstance(upstream_tip, str)
57- self.extract_upstream_tree(upstream_tip, tempdir)
58- else:
59- raise BzrCommandError("Unable to find the tag for the "
60- "previous upstream version, %s, in the branch: "
61- "%s" % (
62- previous_version.upstream_version,
63- self.upstream_tag_name(
64- previous_version.upstream_version)))
65+ self._export_previous_upstream_tree(previous_version, tempdir,
66+ upstream_branch)
67 else:
68 self._create_empty_upstream_tree(tempdir)
69 if self.has_upstream_version_in_packaging_branch(version.upstream_version):

Subscribers

People subscribed via source and target branches