diff options
Diffstat (limited to 'lib/git/utils.py')
-rw-r--r-- | lib/git/utils.py | 17 |
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 |