mercurial/util.py
changeset 38493 da2a7d8354b2
parent 38380 63e6f5ae84bc
child 38575 152f4822d210
equal deleted inserted replaced
38492:2394cd58b81f 38493:da2a7d8354b2
  2137         if exctype is not None:
  2137         if exctype is not None:
  2138             self.discard()
  2138             self.discard()
  2139         else:
  2139         else:
  2140             self.close()
  2140             self.close()
  2141 
  2141 
  2142 def unlinkpath(f, ignoremissing=False):
  2142 def unlinkpath(f, ignoremissing=False, rmdir=True):
  2143     """unlink and remove the directory if it is empty"""
  2143     """unlink and remove the directory if it is empty"""
  2144     if ignoremissing:
  2144     if ignoremissing:
  2145         tryunlink(f)
  2145         tryunlink(f)
  2146     else:
  2146     else:
  2147         unlink(f)
  2147         unlink(f)
  2148     # try removing directories that might now be empty
  2148     if rmdir:
  2149     try:
  2149         # try removing directories that might now be empty
  2150         removedirs(os.path.dirname(f))
  2150         try:
  2151     except OSError:
  2151             removedirs(os.path.dirname(f))
  2152         pass
  2152         except OSError:
       
  2153             pass
  2153 
  2154 
  2154 def tryunlink(f):
  2155 def tryunlink(f):
  2155     """Attempt to remove a file, ignoring ENOENT errors."""
  2156     """Attempt to remove a file, ignoring ENOENT errors."""
  2156     try:
  2157     try:
  2157         unlink(f)
  2158         unlink(f)