def test_tagging(self): """Test tag options of import-srpm""" srpm = os.path.join(DATA_DIR, 'gbp-test-1.0-1.src.rpm') # Invalid packaging tag keywords eq_(mock_import(['--no-pristine-tar', '--packaging-tag=%(foo)s', srpm]), 1) self._check_log(-1, ".*Missing value 'foo' in *.*") # Remove upstream tag repo = GitRepository('gbp-test') repo.delete_tag('upstream/1.0') # Invalid upstream tag keywords eq_(mock_import(['--no-pristine-tar', '--upstream-tag=%(foo)s', srpm]), 1) self._check_log(-1, ".*Missing value 'foo' in.*") # 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('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 main(argv): """Entry point for gbp-submit-bb""" retval = 0 options, _args = parse_args(argv) if not options: return 1 try: repo = GitRepository(os.path.curdir) except GitRepositoryError: gbp.log.err("The command must be run under a Git repository") return 1 try: remote = guess_remote(repo, options) tag_fields = { 'nowtime': datetime.now().strftime('%Y%m%d.%H%M%S'), 'target': options.target } tag_name = format_msg(options.submit_tag, tag_fields) gbp.log.info("Tagging %s" % tag_name) repo.create_tag(tag_name, msg=options.message, commit=options.commit, sign=options.sign_tags, keyid=options.keyid, annotate=True) gbp.log.info("Pushing to remote %s" % remote) try: repo.push_tag(remote, tag_name) except GitRepositoryError as err: gbp.log.err(err) gbp.log.info("Removing tag %s" % tag_name) repo.delete_tag(tag_name) raise GbpError("Git push failed!") except (GbpError, GitRepositoryError) as err: if len(err.__str__()): gbp.log.err(err) retval = 1 return retval
def test_tagging(self): """Test tag options of import-srpm""" srpm = os.path.join(DATA_DIR, 'gbp-test-1.0-1.src.rpm') # Invalid packaging tag keywords eq_( mock_import(['--no-pristine-tar', '--packaging-tag=%(foo)s', srpm]), 1) self._check_log(-1, ".*Missing value 'foo' in *.*") # Remove upstream tag repo = GitRepository('gbp-test') repo.delete_tag('upstream/1.0') # Invalid upstream tag keywords eq_(mock_import(['--no-pristine-tar', '--upstream-tag=%(foo)s', srpm]), 1) self._check_log(-1, ".*Missing value 'foo' in.*") # 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('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)