diff options
Diffstat (limited to 'git_buildpackage/git_utils.py')
-rw-r--r-- | git_buildpackage/git_utils.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/git_buildpackage/git_utils.py b/git_buildpackage/git_utils.py new file mode 100644 index 0000000..330c960 --- /dev/null +++ b/git_buildpackage/git_utils.py @@ -0,0 +1,38 @@ +# utility functions for git-buildpackge and friends +# (C) 2006 Guido Guenther <agx@sigxcpu.org> + +import subprocess +import os.path + +def is_repository_clean(path): + """Does the repository at path contain any uncommitted modifications""" + try: + dir=os.path.abspath(os.path.curdir) + os.chdir(path) + except OSError: + return False + popen = subprocess.Popen(['git','status'], stdout=subprocess.PIPE) + status=popen.wait() + out=popen.stdout.readlines() + if out[0].strip() != 'nothing to commit': + ret=False + else: + ret=True + os.chdir(dir) + return (ret, "".join(out)) + +def is_repository(path): + """Is there a git repository at path?""" + if not path: + return False + try: + os.stat(path+'/.git') + except: + return False + return True + +def sanitize_version(version): + """sanitize a version so git accepts it as a tag""" + return version.replace('~','.') + +# vim:et:ts=4:sw=4: |