Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • feature/add-fft-interface
  • feature/expose-rnumber-from-simulations
  • feature/particle_state_generation_with_variable_box_size
  • feature/forcing-unit-test
  • feature/dealias-check2
  • bugfix/check_field_exists
  • feature/dealias-check
  • v3.x
  • feature/particles-vectorization
  • 6.2.4
  • 6.2.3
  • 6.2.2
  • 6.2.1
  • 6.2.0
  • 6.1.0
  • 6.0.0
  • 5.8.1
  • 5.8.0
  • 5.7.2
  • 5.7.1
  • 5.7.0
  • 5.6.0
  • 5.5.1
  • 5.5.0
  • 5.4.7
  • 5.4.6
  • 5.4.5
  • 5.4.4
  • 5.4.3
30 results

get_version.py

Blame
  • get_version.py 3.24 KiB
    ################################################################################
    #                                                                              #
    #  Copyright 2019 Max Planck Institute for Dynamics and Self-Organization      #
    #                                                                              #
    #  This file is part of TurTLE.                                                #
    #                                                                              #
    #  TurTLE 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.                                      #
    #                                                                              #
    #  TurTLE 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 TurTLE.  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()