Mercurial > hg
changeset 38981:227ebd88ce5e
changegroup: pull _fileheader out of cgpacker
It doesn't need any state from the packer.
Differential Revision: https://phab.mercurial-scm.org/D4138
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 03 Aug 2018 18:40:41 -0700 |
parents | 4a202bccafcf |
children | 037debbf869c |
files | mercurial/changegroup.py |
diffstat | 1 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/changegroup.py Mon Aug 06 09:26:02 2018 -0700 +++ b/mercurial/changegroup.py Fri Aug 03 18:40:41 2018 -0700 @@ -66,6 +66,10 @@ """return a changegroup chunk header (string) for a zero-length chunk""" return struct.pack(">l", 0) +def _fileheader(path): + """Obtain a changegroup chunk header for a named path.""" + return chunkheader(len(path)) + path + def writechunks(ui, chunks, filename, vfs=None): """Write chunks to a file and return its filename. @@ -606,9 +610,6 @@ return closechunk() - def _fileheader(self, fname): - return chunkheader(len(fname)) + fname - # Extracted both for clarity and for overriding in extensions. def _sortgroup(self, store, ischangelog, nodelist, lookup): """Sort nodes for change group and turn them into revnums.""" @@ -701,7 +702,7 @@ if dir: assert self.version == b'03' - yield self._fileheader(dir) + yield _fileheader(dir) # TODO violates storage abstractions by assuming revlogs. dirlog = self._repo.manifestlog._revlog.dirlog(dir) @@ -981,7 +982,7 @@ filenodes = self._prune(filerevlog, linkrevnodes, commonrevs) if filenodes: progress.update(i + 1, item=fname) - h = self._fileheader(fname) + h = _fileheader(fname) size = len(h) yield h for chunk in self.group(filenodes, filerevlog, False,