diff -r 7f7f634d073d -r a01988cd9b61 mercurial/subrepo.py --- a/mercurial/subrepo.py Thu May 08 19:03:00 2014 +0900 +++ b/mercurial/subrepo.py Thu May 08 19:03:00 2014 +0900 @@ -1050,7 +1050,7 @@ # update to a directory which has since been deleted and recreated. args.append('%s@%s' % (state[0], state[1])) status, err = self._svncommand(args, failok=True) - _sanitize(self._ui, self._path) + _sanitize(self._ui, self._ctx._repo.wjoin(self._path)) if not re.search('Checked out revision [0-9]+.', status): if ('is already a working copy for a different URL' in err and (self._wcchanged()[:2] == (False, False))): @@ -1343,7 +1343,7 @@ self._gitcommand(['reset', 'HEAD']) cmd.append('-f') self._gitcommand(cmd + args) - _sanitize(self._ui, self._path) + _sanitize(self._ui, self._abspath) def rawcheckout(): # no branch to checkout, check it out with no branch @@ -1392,7 +1392,7 @@ if tracking[remote] != self._gitcurrentbranch(): checkout([tracking[remote]]) self._gitcommand(['merge', '--ff', remote]) - _sanitize(self._ui, self._path) + _sanitize(self._ui, self._abspath) else: # a real merge would be required, just checkout the revision rawcheckout() @@ -1428,7 +1428,7 @@ self.get(state) # fast forward merge elif base != self._state[1]: self._gitcommand(['merge', '--no-commit', revision]) - _sanitize(self._ui, self._path) + _sanitize(self._ui, self._abspath) if self.dirty(): if self._gitstate() != revision: