summaryrefslogtreecommitdiff
path: root/lib/git/utils.py
diff options
context:
space:
mode:
authorFlorian Apolloner <florian@apolloner.eu>2008-06-25 00:41:41 +0200
committerFlorian Apolloner <florian@apolloner.eu>2008-06-25 00:43:07 +0200
commit990d1fe06e8c2db48a895aaa7e5e5eda8b330a5c (patch)
treea529af9a05481053a9286a346be7612fdee15df6 /lib/git/utils.py
parent7fda0ec787de5159534ebc8b81824920d9613575 (diff)
downloadgitpython-990d1fe06e8c2db48a895aaa7e5e5eda8b330a5c.tar.gz
fixed http://groups.google.com/group/git-python/browse_thread/thread/b8f3580abf31f9db?hl=en# and passed Git a working_tree again (sort of).
Diffstat (limited to 'lib/git/utils.py')
-rw-r--r--lib/git/utils.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/git/utils.py b/lib/git/utils.py
index c2140ba0..656e783c 100644
--- a/lib/git/utils.py
+++ b/lib/git/utils.py
@@ -1,5 +1,20 @@
+import os
+
def dashify(string):
return string.replace('_', '-')
def touch(filename):
- open(filename, "a").close()
+ os.utime(filename)
+
+def is_git_dir(d):
+ """ This is taken from the git setup.c:is_git_directory
+ function."""
+
+ if os.path.isdir(d) and \
+ os.path.isdir(os.path.join(d, 'objects')) and \
+ os.path.isdir(os.path.join(d, 'refs')):
+ headref = os.path.join(d, 'HEAD')
+ return os.path.isfile(headref) or \
+ (os.path.islink(headref) and
+ os.readlink(headref).startswith('refs'))
+ return False