hgext/convert/__init__.py
changeset 5201 653790c2fa52
parent 5192 33015dac5df5
child 5202 6f636d13f6b8
equal deleted inserted replaced
5200:c7e8fe11f34a 5201:653790c2fa52
    79         parents = {}
    79         parents = {}
    80         while visit:
    80         while visit:
    81             n = visit.pop(0)
    81             n = visit.pop(0)
    82             if n in known or n in self.map: continue
    82             if n in known or n in self.map: continue
    83             known[n] = 1
    83             known[n] = 1
    84             self.commitcache[n] = self.source.getcommit(n)
    84             commit = self.cachecommit(n)
    85             cp = self.commitcache[n].parents
       
    86             parents[n] = []
    85             parents[n] = []
    87             for p in cp:
    86             for p in commit.parents:
    88                 parents[n].append(p)
    87                 parents[n].append(p)
    89                 visit.append(p)
    88                 visit.append(p)
    90 
    89 
    91         return parents
    90         return parents
    92 
    91 
   185             except IndexError:
   184             except IndexError:
   186                 self.ui.warn(
   185                 self.ui.warn(
   187                     'Ignoring bad line in author file map %s: %s\n'
   186                     'Ignoring bad line in author file map %s: %s\n'
   188                     % (authorfile, line))
   187                     % (authorfile, line))
   189         afile.close()
   188         afile.close()
       
   189 
       
   190     def cachecommit(self, rev):
       
   191         commit = self.source.getcommit(rev)
       
   192         commit.author = self.authors.get(commit.author, commit.author)
       
   193         self.commitcache[rev] = commit
       
   194         return commit
   190 
   195 
   191     def copy(self, rev):
   196     def copy(self, rev):
   192         commit = self.commitcache[rev]
   197         commit = self.commitcache[rev]
   193         do_copies = hasattr(self.dest, 'copyfile')
   198         do_copies = hasattr(self.dest, 'copyfile')
   194         filenames = []
   199         filenames = []
   241             for c in t:
   246             for c in t:
   242                 num -= 1
   247                 num -= 1
   243                 desc = self.commitcache[c].desc
   248                 desc = self.commitcache[c].desc
   244                 if "\n" in desc:
   249                 if "\n" in desc:
   245                     desc = desc.splitlines()[0]
   250                     desc = desc.splitlines()[0]
   246                 author = self.commitcache[c].author
       
   247                 author = self.authors.get(author, author)
       
   248                 self.commitcache[c].author = author
       
   249                 self.ui.status("%d %s\n" % (num, desc))
   251                 self.ui.status("%d %s\n" % (num, desc))
   250                 self.copy(c)
   252                 self.copy(c)
   251 
   253 
   252             tags = self.source.gettags()
   254             tags = self.source.gettags()
   253             ctags = {}
   255             ctags = {}