diff options
Diffstat (limited to 'project.py')
-rw-r--r-- | project.py | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1120,7 +1120,10 @@ class Project(object): | |||
1120 | try: | 1120 | try: |
1121 | src = os.path.join(self.gitdir, name) | 1121 | src = os.path.join(self.gitdir, name) |
1122 | dst = os.path.join(dotgit, name) | 1122 | dst = os.path.join(dotgit, name) |
1123 | os.symlink(relpath(src, dst), dst) | 1123 | if os.path.islink(dst) or not os.path.exists(dst): |
1124 | os.symlink(relpath(src, dst), dst) | ||
1125 | else: | ||
1126 | raise GitError('cannot overwrite a local work tree') | ||
1124 | except OSError, e: | 1127 | except OSError, e: |
1125 | if e.errno == errno.EPERM: | 1128 | if e.errno == errno.EPERM: |
1126 | raise GitError('filesystem must support symlinks') | 1129 | raise GitError('filesystem must support symlinks') |