comparison mercurial/changelog.py @ 44055:7f67f53492f7

changelog: fix the diverted opener to accept more kwargs The current code prevent the use of `atomictemp` file with the changelog opener. I do not see a good reason for this limitation. Differential Revision: https://phab.mercurial-scm.org/D7831
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 11 Jan 2020 04:57:29 +0100
parents be8552f25cab
children 2141427533d2 5962fd0d1045
comparison
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