hgext/convert/cvs.py
changeset 11134 33010ff1fd6f
parent 10939 9f6731b03906
child 11987 3145951e50fe
equal deleted inserted replaced
11133:d7b6aab612b4 11134:33010ff1fd6f
   198 
   198 
   199     def getheads(self):
   199     def getheads(self):
   200         self._parse()
   200         self._parse()
   201         return self.heads
   201         return self.heads
   202 
   202 
   203     def _getfile(self, name, rev):
   203     def getfile(self, name, rev):
   204 
   204 
   205         def chunkedread(fp, count):
   205         def chunkedread(fp, count):
   206             # file-objects returned by socked.makefile() do not handle
   206             # file-objects returned by socked.makefile() do not handle
   207             # large read() requests very well.
   207             # large read() requests very well.
   208             chunksize = 65536
   208             chunksize = 65536
   214                                      % count)
   214                                      % count)
   215                 count -= len(data)
   215                 count -= len(data)
   216                 output.write(data)
   216                 output.write(data)
   217             return output.getvalue()
   217             return output.getvalue()
   218 
   218 
       
   219         self._parse()
   219         if rev.endswith("(DEAD)"):
   220         if rev.endswith("(DEAD)"):
   220             raise IOError
   221             raise IOError
   221 
   222 
   222         args = ("-N -P -kk -r %s --" % rev).split()
   223         args = ("-N -P -kk -r %s --" % rev).split()
   223         args.append(self.cvsrepo + '/' + name)
   224         args.append(self.cvsrepo + '/' + name)
   253                 elif line.startswith("Remove"):
   254                 elif line.startswith("Remove"):
   254                     self.readp.readline()
   255                     self.readp.readline()
   255                 else:
   256                 else:
   256                     raise util.Abort(_("unknown CVS response: %s") % line)
   257                     raise util.Abort(_("unknown CVS response: %s") % line)
   257 
   258 
   258     def getfile(self, file, rev):
       
   259         self._parse()
       
   260         data, mode = self._getfile(file, rev)
       
   261         self.modecache[(file, rev)] = mode
       
   262         return data
       
   263 
       
   264     def getmode(self, file, rev):
       
   265         return self.modecache[(file, rev)]
       
   266 
       
   267     def getchanges(self, rev):
   259     def getchanges(self, rev):
   268         self._parse()
   260         self._parse()
   269         self.modecache = {}
       
   270         return sorted(self.files[rev].iteritems()), {}
   261         return sorted(self.files[rev].iteritems()), {}
   271 
   262 
   272     def getcommit(self, rev):
   263     def getcommit(self, rev):
   273         self._parse()
   264         self._parse()
   274         return self.changeset[rev]
   265         return self.changeset[rev]