From 972db70347d5fa37f9af74babf8021a41cb7d219 Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Fri, 27 Feb 2015 13:52:06 +0200 Subject: import-srpm: implement --skip-packaging-tag option Corresponding the --skip-debian-tag options of import-dsc. Signed-off-by: Markus Lehtonen --- docs/manpages/gbp-import-srpm.xml | 10 ++++++++++ gbp/scripts/import_srpm.py | 27 ++++++++++++++++----------- tests/component/rpm/test_import_srpm.py | 22 +++++++++++++++++++--- 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/docs/manpages/gbp-import-srpm.xml b/docs/manpages/gbp-import-srpm.xml index fcc3eb38..4520e039 100644 --- a/docs/manpages/gbp-import-srpm.xml +++ b/docs/manpages/gbp-import-srpm.xml @@ -25,6 +25,7 @@ BRANCH-NAME TAG-FORMAT + DIRECTORY PATTERN GPG-KEYID @@ -126,6 +127,15 @@ + + + + + + Do not create &packaging; tag after importing the packaging files. + + + TAG-FORMAT diff --git a/gbp/scripts/import_srpm.py b/gbp/scripts/import_srpm.py index 4230267b..ffef4985 100755 --- a/gbp/scripts/import_srpm.py +++ b/gbp/scripts/import_srpm.py @@ -174,6 +174,9 @@ def build_parser(name): dest="packaging_tag") tag_group.add_config_file_option(option_name="upstream-tag", dest="upstream_tag") + tag_group.add_option("--skip-packaging-tag", dest="skip_packaging_tag", + action="store_true", + help="Don't add a tag after importing packaging files") import_group.add_config_file_option(option_name="filter", dest="filters", action="append") @@ -390,11 +393,12 @@ def main(argv): author=author, committer=committer, create_missing_branch=options.create_missing_branches) - repo.create_tag(name=upstream_tag, - msg=msg, - commit=upstream_commit, - sign=options.sign_tags, - keyid=options.keyid) + if not (options.native and options.skip_packaging_tag): + repo.create_tag(name=upstream_tag, + msg=msg, + commit=upstream_commit, + sign=options.sign_tags, + keyid=options.keyid) if not options.native: if options.pristine_tar: @@ -423,7 +427,6 @@ def main(argv): "option.") raise GbpError - tag = repo.version_to_tag(options.packaging_tag, tag_str_fields) msg = "%s release %s" % (options.vendor, full_version) if options.orphan_packaging or not sources: @@ -457,11 +460,13 @@ def main(argv): force_to_branch_head(repo, options.packaging_branch) # Create packaging tag - repo.create_tag(name=tag, - msg=msg, - commit=commit, - sign=options.sign_tags, - keyid=options.keyid) + if not options.skip_packaging_tag: + tag = repo.version_to_tag(options.packaging_tag, tag_str_fields) + repo.create_tag(name=tag, + msg=msg, + commit=commit, + sign=options.sign_tags, + keyid=options.keyid) force_to_branch_head(repo, options.packaging_branch) diff --git a/tests/component/rpm/test_import_srpm.py b/tests/component/rpm/test_import_srpm.py index 02f19aac..15db0cf0 100644 --- a/tests/component/rpm/test_import_srpm.py +++ b/tests/component/rpm/test_import_srpm.py @@ -214,12 +214,20 @@ class TestImportPacked(ComponentTestBase): 1) self._check_log(-1, ".*Missing value 'foo' in.*") - # Try with good keywords + # Try with good keywords, with --skip-packaging-tag eq_(mock_import(['--no-pristine-tar', '--vendor=foo', + '--skip-packaging-tag', '--packaging-tag=%(vendor)s/%(version)s', '--upstream-tag=upst/%(version)s', srpm]), 0) - eq_(repo.describe('HEAD'), 'foo/1.0-1') eq_(repo.describe('upstream'), 'upst/1.0') + eq_(len(repo.get_tags()), 1) + + # Re-import, creating packaging tag + eq_(mock_import(['--no-pristine-tar', '--vendor=foo', + '--packaging-tag=%(vendor)s/%(version)s', + '--upstream-tag=upst/%(version)s', srpm]), 0) + eq_(repo.describe('HEAD'), 'foo/1.0-1') + eq_(len(repo.get_tags()), 2) def test_tagging_native(self): """Test tagging of native packages with import-srpm""" @@ -230,11 +238,19 @@ class TestImportPacked(ComponentTestBase): srpm, '--native']), 1) self._check_log(-1, ".*Missing value 'foo' in {.*") - # Try with good keywords, upstream tag format should not matter + # Try with good keywords, with --skip-packaging-tag. + # Upstream tag format should not matter eq_(mock_import(['--no-pristine-tar', '--vendor=foo', '--native', + '--skip-packaging-tag', '--packaging-tag=%(vendor)s/%(version)s', '--upstream-tag=%(foo)s', srpm]), 0) repo = GitRepository('gbp-test-native') + eq_(len(repo.get_tags()), 0) + + # Run again, now creating packaging tag + eq_(mock_import(['--no-pristine-tar', '--vendor=foo', '--native', + '--packaging-tag=%(vendor)s/%(version)s', + '--upstream-tag=%(foo)s', srpm]), 0) eq_(repo.describe('HEAD'), 'foo/1.0-1') def test_misc_options(self): -- cgit v1.2.3