Move _build_legacty_tag from GitRepository to to DebianGitRepository
authorGuido Günther <agx@sigxcpu.org>
Wed, 28 Dec 2011 08:31:51 +0000 (09:31 +0100)
committerGuido Günther <agx@sigxcpu.org>
Wed, 28 Dec 2011 09:00:34 +0000 (10:00 +0100)
and add doctest.

Git-Dch: Ignore

gbp/deb/git.py
gbp/git/repository.py

index f8cefed..5890df2 100644 (file)
@@ -51,6 +51,19 @@ class DebianGitRepository(GitRepository):
         return None
 
     @staticmethod
+    def _build_legacy_tag(format, version):
+        """
+        Legacy tags (prior to 0.5.5) dropped epochs and didn't honor the '~'
+
+        >>> DebianGitRepository._build_legacy_tag('upstream/%(version)s', '1:2.0~3')
+        'upstream/2.0.3'
+        """
+        if ':' in version: # strip of any epochs
+            version = version.split(':', 1)[1]
+        version = version.replace('~', '.')
+        return format % dict(version=version)
+
+    @staticmethod
     def version_to_tag(format, version):
         """Generate a tag from a given format and a version
 
index 58d67be..0cd9c0f 100644 (file)
@@ -423,13 +423,6 @@ class GitRepository(object):
         out, ret =  self.__git_getoutput('tag', [ '-l', tag ])
         return [ False, True ][len(out)]
 
-    def _build_legacy_tag(self, format, version):
-        """legacy version numbering"""
-        if ':' in version: # strip of any epochs
-            version = version.split(':', 1)[1]
-        version = version.replace('~', '.')
-        return format % dict(version=version)
-
     def find_tag(self, commit, pattern=None):
         """
         Find the closest tag to a given commit