contrib/purge/purge.py
changeset 4120 f9dc36b1bdd5
parent 3937 05c703c281ff
child 4121 d250076824e3
equal deleted inserted replaced
4119:0c8a783dd197 4120:f9dc36b1bdd5
    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 '/'.