]> arthur.barton.de Git - bup.git/blobdiff - lib/bup/version.py
Avoid varying git archive content for ref; rework versioning
[bup.git] / lib / bup / version.py
index 23d3921058ca18caa1a44eacc37a3fac27c61977..23ae5cad1154a1c41963485913ef31750b4c3ab7 100644 (file)
@@ -1,7 +1,35 @@
 
-from bup import _release
+from __future__ import absolute_import, print_function
+import sys
 
-if _release.COMMIT != '$Format:%H$':
-    from bup._release import COMMIT, DATE, NAMES
+from bup.compat import ModuleNotFoundError
+
+from bup import source_info
+try:
+    import bup.checkout_info as checkout_info
+except ModuleNotFoundError:
+    checkout_info = None
+    pass
+
+
+if checkout_info:
+    date = checkout_info.date.encode('ascii')
+    commit = checkout_info.commit.encode('ascii')
+    modified = checkout_info.modified
 else:
-    from bup._checkout import COMMIT, DATE, NAMES
+    date = source_info.date.encode('ascii')
+    commit = source_info.commit.encode('ascii')
+    modified = source_info.modified
+    assert not date.startswith(b'$Format')
+    assert not commit.startswith(b'$Format')
+
+# The ~ in a version is a Debian-style "always less than" marker:
+# https://www.debian.org/doc/debian-policy/ch-controlfields.html#version
+base_version = b'0.31~'
+
+version = base_version
+if version.endswith(b'~'):
+    version += commit
+
+if modified:
+    version += b'+'