summaryrefslogtreecommitdiff
path: root/dotbot
diff options
context:
space:
mode:
authorAndreas Ntaflos <andreas.ntaflos@rise-world.com>2015-04-27 18:30:23 +0200
committerAndreas Ntaflos <andreas.ntaflos@rise-world.com>2015-04-27 22:58:22 +0200
commit1a10f88c432113317387f9ad93c88c039b3907b8 (patch)
treef914f64321117684a28d1c344ac353cd0bc5e3d7 /dotbot
parentaa06a18cff22f9804754ddda0164761e437c61c7 (diff)
Handle force creation of symlinked directories
Check if entry to force-create (delete) is a symlink and if so, simply unlink it. Don't try to run rmtree on the underlying directory, which will fail anyway.
Diffstat (limited to 'dotbot')
-rw-r--r--dotbot/executor/linker.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/dotbot/executor/linker.py b/dotbot/executor/linker.py
index d94a9bc..9821fe7 100644
--- a/dotbot/executor/linker.py
+++ b/dotbot/executor/linker.py
@@ -78,7 +78,9 @@ class Linker(Executor):
(self._exists(path) and not self._is_link(path))):
fullpath = os.path.expanduser(path)
try:
- if os.path.isdir(fullpath):
+ if os.path.islink(fullpath):
+ os.unlink(fullpath)
+ elif os.path.isdir(fullpath):
shutil.rmtree(fullpath)
else:
os.remove(fullpath)