From d6999f791909f22c9846e24b45a7032540894691 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Mon, 24 Oct 2011 14:12:59 +0200 Subject: Replace GitTag by GitRepository.create_tag() --- gbp/command_wrappers.py | 23 ----------------------- gbp/git.py | 24 ++++++++++++++++++++++++ git-buildpackage | 6 +++--- git-import-dsc | 19 ++++++++++--------- git-import-orig | 8 +++++--- 5 files changed, 42 insertions(+), 38 deletions(-) diff --git a/gbp/command_wrappers.py b/gbp/command_wrappers.py index 33d6823..8d942b8 100644 --- a/gbp/command_wrappers.py +++ b/gbp/command_wrappers.py @@ -230,29 +230,6 @@ class GitCommand(Command): self.run_error = "Couldn't run git %s" % cmd -# FIXME: move to gbp.git.create_tag -class GitTag(GitCommand): - """Wrap git tag""" - def __init__(self, sign_tag=False, keyid=None): - GitCommand.__init__(self,'tag') - self.sign_tag = sign_tag - self.keyid = keyid - - def __call__(self, version, msg="Tagging %(version)s", commit=None): - self.run_error = 'Couldn\'t tag "%s"' % (version,) - if self.sign_tag: - if self.keyid: - sign_opts = [ '-u', self.keyid ] - else: - sign_opts = [ '-s' ] - else: - sign_opts = [] - cmd = sign_opts + [ '-m', msg % locals(), version] - if commit: - cmd += [ commit ] - GitCommand.__call__(self, cmd) - - def copy_from(orig_dir, filters=[]): """ copy a source tree over via tar diff --git a/gbp/git.py b/gbp/git.py index 7566635..34d8140 100644 --- a/gbp/git.py +++ b/gbp/git.py @@ -274,6 +274,30 @@ class GitRepository(object): self._git_command("tag", [ new, old ]) self.remove_tag(old) + def create_tag(self, name, msg=None, commit=None, sign=False, keyid=None): + """ + Create a new tag. + + @param name: the tag's name + @type name: string + @param msg: The tag message. + @type msg: string + @param commit: the commit or object to create the tag at, default + is I{HEAD} + @type commit: string + @param sign: Whether to sing the tag + @type sign: bool + @param keyid: the GPG keyid used to sign the tag + @type keyid: string + """ + args = [] + args += [ '-m', msg ] if msg else [] + if sign: + args += [ '-u', keyid ] if keyid else [ '-s' ] + args += [ name ] + args += [ commit ] if commit else [] + self._git_command("tag", args) + def get_branch(self): """on what branch is the current working copy""" for line in self.__git_getoutput('branch', [ '--no-color' ])[0]: diff --git a/git-buildpackage b/git-buildpackage index 7b5dca3..beed984 100755 --- a/git-buildpackage +++ b/git-buildpackage @@ -28,7 +28,7 @@ import tempfile import shutil import gbp.deb as du from gbp.git import (GitRepositoryError, GitRepository, build_tag) -from gbp.command_wrappers import (GitTag, Command, +from gbp.command_wrappers import (Command, RunAtCommand, CommandExecFailed, PristineTar, RemoveTree, CatenateTarArchive) from gbp.config import (GbpOptionParser, GbpOptionGroup) @@ -539,8 +539,8 @@ def main(argv): tag = build_tag(options.debian_tag, version) if options.retag and repo.has_tag(tag): repo.remove_tag(tag) - GitTag(options.sign_tags, options.keyid)(tag, - msg="Debian release %s" % version) + repo.create_tag(name=tag, msg="Debian release %s" % version, + sign=options.sign_tags, keyid=options.keyid) if options.posttag: sha = repo.rev_parse("%s^{}" % tag) Command(options.posttag, shell=True, diff --git a/git-import-dsc b/git-import-dsc index ac19757..782c9ea 100755 --- a/git-import-dsc +++ b/git-import-dsc @@ -83,8 +83,6 @@ def apply_deb_tgz(deb_tgz): def apply_debian_patch(repo, unpack_dir, src, options, parents): """apply the debian patch and tag appropriately""" - gitTag = gbpc.GitTag(options.sign_tags, options.keyid) - try: os.chdir(unpack_dir) @@ -111,9 +109,11 @@ def apply_debian_patch(repo, unpack_dir, src, options, parents): committer=dict(name=[None, author][options.author_committer], email=[None, email][options.author_committer], date=[None, date][options.author_committer_date])) - - gitTag(build_tag(options.debian_tag, src.version), - msg="Debian release %s" % src.version, commit=commit) + repo.create_tag(build_tag(options.debian_tag, src.version), + msg="Debian release %s" % src.version, + commit=commit, + sign=options.sign_tags, + keyid=options.keyid) except gbpc.CommandExecFailed: gbp.log.err("Failed to import Debian package") raise GbpError @@ -211,8 +211,6 @@ def main(argv): options, args = parse_args(argv) - gitTag = gbpc.GitTag(options.sign_tags, options.keyid) - try: if len(args) != 1: gbp.log.err("Need to give exactly one package to import. Try --help.") @@ -284,8 +282,11 @@ def main(argv): commit = repo.commit_dir(upstream.unpacked, "Imported %s" % msg, branch) - gitTag(version=tag, msg=msg, commit=commit) - + repo.create_tag(name=tag, + msg=msg, + commit=commit, + sign=options.sign_tags, + keyid=options.keyid) if not src.native: if is_empty: repo.create_branch(options.upstream_branch, commit) diff --git a/git-import-orig b/git-import-orig index d9bc077..0c11371 100755 --- a/git-import-orig +++ b/git-import-orig @@ -389,9 +389,11 @@ def main(argv): gbp.log.warn("'%s' not an archive, skipping pristine-tar" % source.path) tag = build_tag(options.upstream_tag, version) - gbpc.GitTag(options.sign_tags, options.keyid)(tag, - msg="Upstream version %s" % version, - commit=commit) + repo.create_tag(name=tag, + msg="Upstream version %s" % version, + commit=commit, + sign=options.sign_tags, + keyid=options.keyid) if is_empty: repo.create_branch(options.upstream_branch, rev=commit) repo.force_head(options.upstream_branch, hard=True) -- cgit v1.2.3