fixed http://groups.google.com/group/git-python/browse_thread/thread/b8f3580abf31f9db...
[jelmer/gitpython.git] / lib / git / utils.py
index c2140ba0d8e77502c2b30c3b1fbbcf73d7c15aea..656e783cfac1feab3e56ce960de02c9f2545e3e7 100644 (file)
@@ -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