diff options
-rw-r--r-- | docs/manpages/gbp-import-srpm.xml | 10 | ||||
-rwxr-xr-x | gbp/scripts/import_srpm.py | 27 | ||||
-rw-r--r-- | 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 @@ <arg><option>--author-is-committer</option></arg> <arg><option>--packaging-branch=</option><replaceable>BRANCH-NAME</replaceable></arg> <arg><option>--packaging-tag=</option><replaceable>TAG-FORMAT</replaceable></arg> + <arg><option>--skip-packaging-tag</option></arg> <arg><option>--packaging-dir=</option><replaceable>DIRECTORY</replaceable></arg> <arg><option>--filter=</option><replaceable>PATTERN</replaceable></arg> <arg><option>--keyid=</option><replaceable>GPG-KEYID</replaceable></arg> @@ -127,6 +128,15 @@ </listitem> </varlistentry> <varlistentry> + <term><option>--skip-packaging-tag</option> + </term> + <listitem> + <para> + Do not create &packaging; tag after importing the packaging files. + </para> + </listitem> + </varlistentry> + <varlistentry> <term><option>--upstream-tag=</option><replaceable>TAG-FORMAT</replaceable> </term> <listitem> 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): |