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>
Fri, 19 Dec 2014 12:10:43 +0000 (14:10 +0200)
For forcing the creation of annotated tags. Causes the an editor to be
spawned if no message is given.

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

index 7613d8f..20251a0 100644 (file)
@@ -700,7 +700,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.
 
@@ -715,15 +716,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):
         """