GitRepository.create_tag: add 'annotate' argument
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Wed, 17 Dec 2014 15:39:59 +0000 (17:39 +0200)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Tue, 3 Mar 2015 08:07:48 +0000 (10:07 +0200)
For forcing the creation of annotated tags. Causes the an editor to be
spawned if no message is given.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
gbp/git/repository.py

index bc3364782cbd9da1233a0b0e753e228f51e22970..e120fa8b857acfa30afb0f459291cb0723b684d1 100644 (file)
@@ -696,7 +696,8 @@ class GitRepository(object):
 
 #{ Tags
 
-    def create_tag(self, name, msg=None, commit=None, sign=False, keyid=None):
+    def create_tag(self, name, msg=None, commit=None, sign=False, keyid=None,
+                   annotate=False):
         """
         Create a new tag.
 
@@ -711,15 +712,18 @@ class GitRepository(object):
         @type sign: C{bool}
         @param keyid: the GPG keyid used to sign the tag
         @type keyid: C{str}
+        @param annotate: Create an annotated tag
+        @type annotate: C{bool}
         """
         args = GitArgs()
         args.add_true(msg, ['-m', msg])
         if sign:
             args.add('-s')
             args.add_true(keyid, ['-u', keyid])
+        args.add_true(annotate, '-a')
         args.add(name)
         args.add_true(commit, commit)
-        self._git_command("tag", args.args)
+        self._git_command("tag", args.args, interactive=True)
 
     def delete_tag(self, tag):
         """