Merge lp:~jelmer/bzr-builddeb/post-build-tree-quilt into lp:bzr-builddeb

Proposed by Jelmer Vernooij
Status: Merged
Approved by: James Westby
Approved revision: 692
Merged at revision: 692
Proposed branch: lp:~jelmer/bzr-builddeb/post-build-tree-quilt
Merge into: lp:bzr-builddeb
Diff against target: 92 lines (+31/-6)
2 files modified
__init__.py (+21/-3)
tests/test_merge_quilt.py (+10/-3)
To merge this branch: bzr merge lp:~jelmer/bzr-builddeb/post-build-tree-quilt
Reviewer Review Type Date Requested Status
James Westby Approve
Review via email: mp+87805@code.launchpad.net

Description of the change

Apply quilt patches (if requested) after building trees (e.g. "bzr co").

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
1=== modified file '__init__.py'
2--- __init__.py 2012-01-06 17:55:50 +0000
3+++ __init__.py 2012-01-06 20:31:25 +0000
4@@ -204,14 +204,14 @@
5 merger.working_tree.path2id("debian/patches") is None):
6 return
7
8+ from bzrlib import trace
9 from bzrlib.plugins.builddeb.util import debuild_config
10 config = debuild_config(merger.working_tree, merger.working_tree)
11 if not config.quilt_smart_merge:
12- from bzrlib import trace; trace.mutter("FOO")
13+ trace.mutter("skipping smart quilt merge, not enabled.")
14 return
15
16 import shutil
17- from bzrlib import trace
18 from bzrlib.plugins.builddeb.errors import QuiltUnapplyError
19 from bzrlib.plugins.builddeb.quilt import quilt_pop_all, QuiltError
20 from bzrlib.plugins.builddeb.merge_quilt import tree_unapply_patches
21@@ -265,7 +265,20 @@
22 return
23 from bzrlib.plugins.builddeb.merge_quilt import post_process_quilt_patches
24 post_process_quilt_patches(
25- merger.working_tree, getattr(merger, "_old_quilt_series", []), policy)
26+ merger.working_tree,
27+ getattr(merger, "_old_quilt_series", []), policy)
28+
29+
30+def post_build_tree_quilt(tree):
31+ from bzrlib.plugins.builddeb.util import debuild_config
32+ config = debuild_config(tree, tree)
33+ policy = config.quilt_tree_policy
34+ if policy is None:
35+ return
36+ from bzrlib.plugins.builddeb.merge_quilt import post_process_quilt_patches
37+ from bzrlib import trace
38+ trace.note("Applying quilt patches.");
39+ post_process_quilt_patches(tree, [], policy)
40
41
42 def pre_merge_fix_ancestry(merger):
43@@ -342,6 +355,11 @@
44 "bzrlib.merge", "Merger.hooks",
45 'post_merge', post_merge_quilt_cleanup,
46 'Cleaning up quilt temporary directories')
47+ install_lazy_named_hook(
48+ "bzrlib.mutabletree", "MutableTree.hooks",
49+ 'post_build_tree', post_build_tree_quilt,
50+ 'Applying quilt patches.')
51+
52
53 try:
54 from bzrlib.revisionspec import revspec_registry
55
56=== modified file 'tests/test_merge_quilt.py'
57--- tests/test_merge_quilt.py 2012-01-06 17:55:50 +0000
58+++ tests/test_merge_quilt.py 2012-01-06 20:31:25 +0000
59@@ -24,7 +24,11 @@
60
61 from bzrlib.hooks import install_lazy_named_hook
62
63-from bzrlib.plugins.builddeb import pre_merge_quilt, post_merge_quilt_cleanup
64+from bzrlib.plugins.builddeb import (
65+ pre_merge_quilt,
66+ post_build_tree_quilt,
67+ post_merge_quilt_cleanup,
68+ )
69 from bzrlib.plugins.builddeb.quilt import quilt_push_all
70 from bzrlib.plugins.builddeb.merge_quilt import tree_unapply_patches
71
72@@ -88,6 +92,10 @@
73 "bzrlib.merge", "Merger.hooks",
74 'post_merge', post_merge_quilt_cleanup,
75 'Cleaning up quilt temporary directories')
76+ install_lazy_named_hook(
77+ "bzrlib.mutabletree", "MutableTree.hooks",
78+ "post_build_tree", post_build_tree_quilt,
79+ "Apply quilt trees.")
80
81 def test_diverged_patches(self):
82 self.enable_hooks()
83@@ -144,8 +152,7 @@
84 "[BUILDDEB]\nquilt-tree-policy = applied\n")])
85
86 tree_b = tree_a.branch.create_checkout("b")
87- self.expectFailure("patches not yet applied after checkout",
88- self.assertFileEqual, "a\n", "b/a")
89+ self.assertFileEqual("a\n", "b/a")
90
91 def test_auto_apply_patches_after_update(self):
92 self.enable_hooks()

Subscribers

People subscribed via source and target branches