equal
deleted
inserted
replaced
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) |