hgext/convert/subversion.py
changeset 6053 4e87e785c5bf
parent 5958 59dce24933ad
child 6172 0cd6846e5200
equal deleted inserted replaced
6052:75425961e955 6053:4e87e785c5bf
   945                 except OSError:
   945                 except OSError:
   946                     pass
   946                     pass
   947                 os.rename(tempname, wdest)
   947                 os.rename(tempname, wdest)
   948 
   948 
   949     def dirs_of(self, files):
   949     def dirs_of(self, files):
   950         dirs = set()
   950         dirs = util.set()
   951         for f in files:
   951         for f in files:
   952             if os.path.isdir(self.wjoin(f)):
   952             if os.path.isdir(self.wjoin(f)):
   953                 dirs.add(f)
   953                 dirs.add(f)
   954             for i in strutil.rfindall(f, '/'):
   954             for i in strutil.rfindall(f, '/'):
   955                 dirs.add(f[:i])
   955                 dirs.add(f[:i])
   968             self.xargs(files, 'add', quiet=True)
   968             self.xargs(files, 'add', quiet=True)
   969         return files
   969         return files
   970 
   970 
   971     def tidy_dirs(self, names):
   971     def tidy_dirs(self, names):
   972         dirs = list(self.dirs_of(names))
   972         dirs = list(self.dirs_of(names))
   973         dirs.sort(reverse=True)
   973         dirs.sort()
       
   974         dirs.reverse()
   974         deleted = []
   975         deleted = []
   975         for d in dirs:
   976         for d in dirs:
   976             wd = self.wjoin(d)
   977             wd = self.wjoin(d)
   977             if os.listdir(wd) == '.svn':
   978             if os.listdir(wd) == '.svn':
   978                 self.run0('delete', d)
   979                 self.run0('delete', d)
   989         for parent in parents:
   990         for parent in parents:
   990             try:
   991             try:
   991                 return self.revid(self.childmap[parent])
   992                 return self.revid(self.childmap[parent])
   992             except KeyError:
   993             except KeyError:
   993                 pass
   994                 pass
   994         entries = set(self.delete)
   995         entries = util.set(self.delete)
   995         files = util.frozenset(files)
   996         files = util.frozenset(files)
   996         entries.update(self.add_dirs(files.difference(entries)))
   997         entries.update(self.add_dirs(files.difference(entries)))
   997         if self.copies:
   998         if self.copies:
   998             for s, d in self.copies:
   999             for s, d in self.copies:
   999                 self._copyfile(s, d)
  1000                 self._copyfile(s, d)