From 3bc3ee202997bfdae64b370e9760481473f950e2 Mon Sep 17 00:00:00 2001
From: Cristian C Lalescu <Cristian.Lalescu@ds.mpg.de>
Date: Mon, 11 Mar 2019 21:44:18 +0100
Subject: [PATCH] add version script

---
 get_version.py | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 get_version.py

diff --git a/get_version.py b/get_version.py
new file mode 100644
index 00000000..896763e8
--- /dev/null
+++ b/get_version.py
@@ -0,0 +1,64 @@
+#######################################################################
+#                                                                     #
+#  Copyright 2015-2019 Max Planck Institute                           #
+#                      for Dynamics and Self-Organization             #
+#                                                                     #
+#  This file is part of bfps.                                         #
+#                                                                     #
+#  bfps is free software: you can redistribute it and/or modify       #
+#  it under the terms of the GNU General Public License as published  #
+#  by the Free Software Foundation, either version 3 of the License,  #
+#  or (at your option) any later version.                             #
+#                                                                     #
+#  bfps is distributed in the hope that it will be useful,            #
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of     #
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the      #
+#  GNU General Public License for more details.                       #
+#                                                                     #
+#  You should have received a copy of the GNU General Public License  #
+#  along with bfps.  If not, see <http://www.gnu.org/licenses/>       #
+#                                                                     #
+# Contact: Cristian.Lalescu@ds.mpg.de                                 #
+#                                                                     #
+#######################################################################
+
+
+
+import datetime
+import subprocess
+
+def main():
+    # get current time
+    now = datetime.datetime.now()
+    # obtain version
+    try:
+        git_branch = subprocess.check_output(['git',
+                                              'rev-parse',
+                                              '--abbrev-ref',
+                                              'HEAD']).strip().split()[-1].decode()
+        git_revision = subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip()
+        git_date = datetime.datetime.fromtimestamp(int(subprocess.check_output(['git', 'log', '-1', '--format=%ct']).strip()))
+    except:
+        git_revision = ''
+        git_branch = ''
+        git_date = now
+    if git_branch == '':
+        # there's no git available or something
+        VERSION = '{0:0>4}{1:0>2}{2:0>2}.{3:0>2}{4:0>2}{5:0>2}'.format(
+                    git_date.year, git_date.month, git_date.day,
+                    git_date.hour, git_date.minute, git_date.second)
+    else:
+        VERSION = subprocess.check_output(['git', 'describe', '--tags']).strip().decode().split('-')[0]
+        if (('develop' in git_branch) or
+            ('feature' in git_branch) or
+            ('bugfix'  in git_branch)):
+            VERSION_py = subprocess.check_output(
+                    ['git', 'describe', '--tags', '--dirty']).strip().decode().replace('-g', '+g').replace('-dirty', '.dirty').replace('-', '.post')
+        else:
+            VERSION_py = VERSION
+    print(VERSION)
+    return VERSION_py
+
+if __name__ == '__main__':
+    main()
+
-- 
GitLab