mercurial/patch.py
changeset 31233 067f2a95e32c
parent 31216 21fa3d3688f3
child 31271 b3861be6aa6c
equal deleted inserted replaced
31232:254f98326eef 31233:067f2a95e32c
    36     pathutil,
    36     pathutil,
    37     pycompat,
    37     pycompat,
    38     scmutil,
    38     scmutil,
    39     similar,
    39     similar,
    40     util,
    40     util,
       
    41     vfs as vfsmod,
    41 )
    42 )
    42 stringio = util.stringio
    43 stringio = util.stringio
    43 
    44 
    44 gitre = re.compile('diff --git a/(.*) b/(.*)')
    45 gitre = re.compile('diff --git a/(.*) b/(.*)')
    45 tabsplitter = re.compile(r'(\t+|[^\t]+)')
    46 tabsplitter = re.compile(r'(\t+|[^\t]+)')
   447         raise NotImplementedError
   448         raise NotImplementedError
   448 
   449 
   449 class fsbackend(abstractbackend):
   450 class fsbackend(abstractbackend):
   450     def __init__(self, ui, basedir):
   451     def __init__(self, ui, basedir):
   451         super(fsbackend, self).__init__(ui)
   452         super(fsbackend, self).__init__(ui)
   452         self.opener = scmutil.vfs(basedir)
   453         self.opener = vfsmod.vfs(basedir)
   453 
   454 
   454     def _join(self, f):
   455     def _join(self, f):
   455         return os.path.join(self.opener.base, f)
   456         return os.path.join(self.opener.base, f)
   456 
   457 
   457     def getfile(self, fname):
   458     def getfile(self, fname):
   558             self.data[fname] = (data, mode, copied)
   559             self.data[fname] = (data, mode, copied)
   559             self.size += len(data)
   560             self.size += len(data)
   560         else:
   561         else:
   561             if self.opener is None:
   562             if self.opener is None:
   562                 root = tempfile.mkdtemp(prefix='hg-patch-')
   563                 root = tempfile.mkdtemp(prefix='hg-patch-')
   563                 self.opener = scmutil.vfs(root)
   564                 self.opener = vfsmod.vfs(root)
   564             # Avoid filename issues with these simple names
   565             # Avoid filename issues with these simple names
   565             fn = str(self.created)
   566             fn = str(self.created)
   566             self.opener.write(fn, data)
   567             self.opener.write(fn, data)
   567             self.created += 1
   568             self.created += 1
   568             self.files[fname] = (fn, mode, copied)
   569             self.files[fname] = (fn, mode, copied)