| import subprocess | |
| from .Common import * | |
| from .Execute import * | |
| def git_diff_word_count(): | |
| return len(subprocess.check_output(['git', 'diff']).decode('ascii').strip()) | |
| def git_version(): | |
| return subprocess.check_output(['git', 'describe', '--tags', '--always']).decode('ascii').strip() | |
| def git_revision_branch(): | |
| return subprocess.check_output(['git', 'branch', '--show-current']).decode('ascii').strip() | |
| def git_revision_hash(short = True): | |
| return subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode('ascii').strip() | |
| def IsInsideGitRepository(): | |
| return IsInsidePackage() == False | |
| # def CheckOutOrUpdateRepo( module_path, dst_dir, module_name = None, checkout_tag = None, repo_type = "git" ): | |
| # if repo_type == "git": | |
| # if DirExists( dst_dir ): | |
| # log.info("Updating " + dst_dir) | |
| # ExecuteCommandInstantOutput( "git pull" ) | |
| # return False | |
| # else: | |
| # if module_name: | |
| # log.info("Checking out " + module_name + " from " + module_path) | |
| # else: | |
| # log.info("Checking out from " + module_path) | |
| # ExecuteCommandInstantOutput( "git clone " + module_path + " " + dst_dir ) | |
| # if checkout_tag: | |
| # __old_dir = GetCurrentDir() | |
| # ChangeDir(dst_dir) | |
| # ExecuteCommandInstantOutput( "git checkout " + str(checkout_tag) ) | |
| # ChangeDir( __old_dir) | |
| # return True | |
| # else: | |
| # log.fatal("Repo type " + repo_type + " not supported" ) |