Skip to content
Snippets Groups Projects
Commit bcc6ed0f6c3b authored by Augie Fackler's avatar Augie Fackler
Browse files

svn subrepo: attempt work around obstructed checkouts (issue2752)

It should be possible to do better than this with 'svn switch', but
the logic required woud be significantly more complex. Until someone
needs the performance improvements of using switch, we'll just use the
same strategy for everything.
parent 9d2be7e17fc1
No related branches found
No related tags found
No related merge requests found
...@@ -621,7 +621,15 @@ ...@@ -621,7 +621,15 @@
self._svncommand(['revert', '--recursive']) self._svncommand(['revert', '--recursive'])
status = self._svncommand(['checkout', state[0], '--revision', state[1]]) status = self._svncommand(['checkout', state[0], '--revision', state[1]])
if not re.search('Checked out revision [0-9]+.', status): if not re.search('Checked out revision [0-9]+.', status):
raise util.Abort(status.splitlines()[-1]) # catch the case where the checkout operation is
# obstructed but the working copy is clean
if ('already a working copy for a different' in status and
not self.dirty()):
self.remove()
self.get(state, overwrite)
return
else:
raise util.Abort(status.splitlines()[-1])
self._ui.status(status) self._ui.status(status)
def merge(self, state): def merge(self, state):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment