aboutsummaryrefslogtreecommitdiff
path: root/git_buildpackage/git_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'git_buildpackage/git_utils.py')
-rw-r--r--git_buildpackage/git_utils.py38
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: