68 relative_name = self._relative_name(name) |
68 relative_name = self._relative_name(name) |
69 # dirstate.state() requires a path relative to the root |
69 # dirstate.state() requires a path relative to the root |
70 # directory. |
70 # directory. |
71 if self._repo.dirstate.state(relative_name) != '?': |
71 if self._repo.dirstate.state(relative_name) != '?': |
72 return |
72 return |
73 self._ui.note(_('Removing file %s\n') % name) |
73 self._ui.note(_('Removing file %s\n') % relative_name) |
74 if self._act: |
74 if self._act: |
75 try: |
75 try: |
76 os.remove(name) |
76 os.remove(name) |
77 except OSError, e: |
77 except OSError, e: |
78 self._error(_('%s cannot be removed') % name) |
78 self._error(_('%s cannot be removed') % relative_name) |
79 else: |
79 else: |
80 self._ui.write('%s%s' % (name, self._eol)) |
80 self._ui.write('%s%s' % (relative_name, self._eol)) |
81 |
81 |
82 def _remove_dir(self, name): |
82 def _remove_dir(self, name): |
83 self._ui.note(_('Removing directory %s\n') % name) |
83 relative_name = self._relative_name(name) |
|
84 self._ui.note(_('Removing directory %s\n') % relative_name) |
84 if self._act: |
85 if self._act: |
85 try: |
86 try: |
86 os.rmdir(name) |
87 os.rmdir(name) |
87 except OSError, e: |
88 except OSError, e: |
88 self._error(_('%s cannot be removed') % name) |
89 self._error(_('%s cannot be removed') % relative_name) |
89 else: |
90 else: |
90 self._ui.write('%s%s' % (name, self._eol)) |
91 self._ui.write('%s%s' % (relative_name, self._eol)) |
91 |
92 |
92 def _relative_name(self, path): |
93 def _relative_name(self, path): |
93 ''' |
94 ''' |
94 Returns "path" but relative to the root directory of the |
95 Returns "path" but relative to the root directory of the |
95 repository and with '\\' replaced with '/'. |
96 repository and with '\\' replaced with '/'. |