aboutsummaryrefslogtreecommitdiff
path: root/gitosis/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitosis/util.py')
-rw-r--r--gitosis/util.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/gitosis/util.py b/gitosis/util.py
index ad0989c..4ae3d0c 100644
--- a/gitosis/util.py
+++ b/gitosis/util.py
@@ -3,6 +3,7 @@ Some utility functions for Gitosis
"""
import errno
import os
+import shutil
from ConfigParser import NoSectionError, NoOptionError
def mkdir(newdir, mode=0777):
@@ -17,6 +18,30 @@ def mkdir(newdir, mode=0777):
else:
raise
+def unlink(filename):
+ """
+ Like os.unlink, but non-existing files do not raise an error.
+ """
+ try:
+ os.unlink(filename)
+ except OSError, ex:
+ if ex.errno == errno.ENOENT:
+ pass
+ else:
+ raise
+
+def rmtree(directory):
+ """
+ Like shutil.rmtree, but non-existing trees do not raise an error.
+ """
+ try:
+ shutil.rmtree(directory)
+ except OSError, ex:
+ if ex.errno == errno.ENOENT:
+ pass
+ else:
+ raise
+
def getRepositoryDir(config):
"""
Find the location of the Git repositories.