hgext/convert/convcmd.py
changeset 5959 0162c6cc045e
parent 5954 851402e53337
parent 5934 e495f3f35b2d
child 5996 3f9ce63da18c
equal deleted inserted replaced
5958:59dce24933ad 5959:0162c6cc045e
   199             else:
   199             else:
   200                 dest = self.map[changes]
   200                 dest = self.map[changes]
   201             self.map[rev] = dest
   201             self.map[rev] = dest
   202             return
   202             return
   203         files, copies = changes
   203         files, copies = changes
   204         parents = [self.map[r] for r in commit.parents]
   204         pbranches = []
   205         if commit.parents:
   205         if commit.parents:
   206             prev = commit.parents[0]
   206             for prev in commit.parents:
   207             if prev not in self.commitcache:
   207                 if prev not in self.commitcache:
   208                 self.cachecommit(prev)
   208                     self.cachecommit(prev)
   209             pbranch = self.commitcache[prev].branch
   209                 pbranches.append((self.map[prev], 
   210         else:
   210                                   self.commitcache[prev].branch))
   211             pbranch = None
   211         self.dest.setbranch(commit.branch, pbranches)
   212         self.dest.setbranch(commit.branch, pbranch, parents)
       
   213         for f, v in files:
   212         for f, v in files:
   214             filenames.append(f)
   213             filenames.append(f)
   215             try:
   214             try:
   216                 data = self.source.getfile(f, v)
   215                 data = self.source.getfile(f, v)
   217             except IOError, inst:
   216             except IOError, inst:
   223                     if f in copies:
   222                     if f in copies:
   224                         copyf = copies[f]
   223                         copyf = copies[f]
   225                         # Merely marks that a copy happened.
   224                         # Merely marks that a copy happened.
   226                         self.dest.copyfile(copyf, f)
   225                         self.dest.copyfile(copyf, f)
   227 
   226 
       
   227         parents = [b[0] for b in pbranches]
   228         newnode = self.dest.putcommit(filenames, parents, commit)
   228         newnode = self.dest.putcommit(filenames, parents, commit)
   229         self.source.converted(rev, newnode)
   229         self.source.converted(rev, newnode)
   230         self.map[rev] = newnode
   230         self.map[rev] = newnode
   231 
   231 
   232     def convert(self):
   232     def convert(self):