Show More
@@ -6,6 +6,7 b'' | |||
|
6 | 6 | # GNU General Public License version 2 or any later version. |
|
7 | 7 | |
|
8 | 8 | import errno, os, re, xml.dom.minidom, shutil, urlparse, posixpath |
|
9 | import stat | |
|
9 | 10 | from i18n import _ |
|
10 | 11 | import config, util, node, error, cmdutil |
|
11 | 12 | hg = None |
@@ -549,7 +550,18 b' class svnsubrepo(abstractsubrepo):' | |||
|
549 | 550 | 'it has changes.\n' % self._path)) |
|
550 | 551 | return |
|
551 | 552 | self._ui.note(_('removing subrepo %s\n') % self._path) |
|
552 | shutil.rmtree(self._ctx._repo.wjoin(self._path)) | |
|
553 | ||
|
554 | def onerror(function, path, excinfo): | |
|
555 | if function is not os.remove: | |
|
556 | raise | |
|
557 | # read-only files cannot be unlinked under Windows | |
|
558 | s = os.stat(path) | |
|
559 | if (s.st_mode & stat.S_IWRITE) != 0: | |
|
560 | raise | |
|
561 | os.chmod(path, stat.S_IMODE(s.st_mode) | stat.S_IWRITE) | |
|
562 | os.remove(path) | |
|
563 | ||
|
564 | shutil.rmtree(self._ctx._repo.wjoin(self._path), onerror=onerror) | |
|
553 | 565 | |
|
554 | 566 | def get(self, state): |
|
555 | 567 | status = self._svncommand(['checkout', state[0], '--revision', state[1]]) |
General Comments 0
You need to be logged in to leave comments.
Login now