From 4e6bcb7dcd6ea1960af9ba77c0d25740c57d6de1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Guido=20G=C3=BCnther?= Date: Fri, 12 Sep 2014 13:05:47 +0200 Subject: [PATCH] Allow to always drop pq branch after export Closes: #761160 Conflicts: gbp/config.py --- gbp/config.py | 4 ++++ gbp/scripts/pq.py | 4 ++++ tests/13_test_gbp_pq.py | 23 ++++++++++++++++++++++- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/gbp/config.py b/gbp/config.py index 0b6c3b2..0c9f885 100644 --- a/gbp/config.py +++ b/gbp/config.py @@ -161,6 +161,7 @@ class GbpOptionParser(OptionParser): 'symlink-orig': 'True', 'purge': 'True', 'tmp-dir' : '/var/tmp/gbp/', + 'drop': 'False', } help = { 'debian-branch': @@ -309,6 +310,9 @@ class GbpOptionParser(OptionParser): 'tmp-dir': ("Base directory under which temporary directories are " "created, default is '%(tmp-dir)s'"), + 'drop': + ("In case of 'export' drop the patch-queue branch " + "after export. Default is '%(drop)s'"), } def_config_files = [ '/etc/git-buildpackage/gbp.conf', diff --git a/gbp/scripts/pq.py b/gbp/scripts/pq.py index 2445c70..5f899b8 100755 --- a/gbp/scripts/pq.py +++ b/gbp/scripts/pq.py @@ -117,6 +117,9 @@ def export_patches(repo, branch, options): else: gbp.log.info("No patches on '%s' - nothing to do." % pq_branch) + if options.drop: + drop_pq(repo, branch) + def safe_patches(series, tmpdir_base): """ @@ -257,6 +260,7 @@ def build_parser(name): help="verbose command execution") parser.add_option("--topic", dest="topic", help="in case of 'apply' topic (subdir) to put patch into") parser.add_config_file_option(option_name="time-machine", dest="time_machine", type="int") + parser.add_boolean_config_file_option("drop", dest='drop') parser.add_option("--force", dest="force", action="store_true", default=False, help="in case of import even import if the branch already exists") parser.add_config_file_option(option_name="color", dest="color", type='tristate') diff --git a/tests/13_test_gbp_pq.py b/tests/13_test_gbp_pq.py index 0b400c2..87bcd79 100644 --- a/tests/13_test_gbp_pq.py +++ b/tests/13_test_gbp_pq.py @@ -25,7 +25,7 @@ try: except ImportError: import unittest -from gbp.scripts.pq import generate_patches +from gbp.scripts.pq import generate_patches, switch_pq, export_patches import gbp.scripts.common.pq as pq import gbp.patch_series import tests.testutils as testutils @@ -137,5 +137,26 @@ class TestWritePatch(testutils.DebianGitTestRepo): # Branches must be identical afterwards self.assertEqual('', diff) +class TestExport(testutils.DebianGitTestRepo): + class Options(object): + drop = True + patch_numbers = False + + def setUp(self): + testutils.DebianGitTestRepo.setUp(self) + self.add_file('bar', 'bar') + + def test_drop(self): + """Test if we drop the patch-queue branch with --drop""" + repo = self.repo + start = repo.get_branch() + pq = os.path.join('patch-queue', start) + switch_pq(repo, start) + self.assertEqual(repo.get_branch(), pq) + export_patches(repo, pq, TestExport.Options) + self.assertEqual(repo.get_branch(), start) + self.assertFalse(repo.has_branch(pq)) + + def _patch_path(name): return os.path.join(context.projectdir, 'tests/data', name) -- 2.7.4