mercurial/changelog.py
changeset 44055 7f67f53492f7
parent 43787 be8552f25cab
child 44308 5962fd0d1045
child 44604 2141427533d2
equal deleted inserted replaced
44054:612225e994ff 44055:7f67f53492f7
   165 
   165 
   166 
   166 
   167 def _divertopener(opener, target):
   167 def _divertopener(opener, target):
   168     """build an opener that writes in 'target.a' instead of 'target'"""
   168     """build an opener that writes in 'target.a' instead of 'target'"""
   169 
   169 
   170     def _divert(name, mode=b'r', checkambig=False):
   170     def _divert(name, mode=b'r', checkambig=False, **kwargs):
   171         if name != target:
   171         if name != target:
   172             return opener(name, mode)
   172             return opener(name, mode, **kwargs)
   173         return opener(name + b".a", mode)
   173         return opener(name + b".a", mode, **kwargs)
   174 
   174 
   175     return _divert
   175     return _divert
   176 
   176 
   177 
   177 
   178 def _delayopener(opener, target, buf):
   178 def _delayopener(opener, target, buf):
   179     """build an opener that stores chunks in 'buf' instead of 'target'"""
   179     """build an opener that stores chunks in 'buf' instead of 'target'"""
   180 
   180 
   181     def _delay(name, mode=b'r', checkambig=False):
   181     def _delay(name, mode=b'r', checkambig=False, **kwargs):
   182         if name != target:
   182         if name != target:
   183             return opener(name, mode)
   183             return opener(name, mode, **kwargs)
       
   184         assert not kwargs
   184         return appender(opener, name, mode, buf)
   185         return appender(opener, name, mode, buf)
   185 
   186 
   186     return _delay
   187     return _delay
   187 
   188 
   188 
   189