comparison mercurial/merge.py @ 36477:035b77bf01d2

py3: make sure we write in mergestate in bytes mode Differential Revision: https://phab.mercurial-scm.org/D2501
author Pulkit Goyal <7895pulkit@gmail.com>
date Wed, 28 Feb 2018 21:44:28 +0530
parents 759579bac31d
children 1d99260c3a81
comparison
equal deleted inserted replaced
36476:263368dc143f 36477:035b77bf01d2
397 self._writerecordsv1(records) 397 self._writerecordsv1(records)
398 self._writerecordsv2(records) 398 self._writerecordsv2(records)
399 399
400 def _writerecordsv1(self, records): 400 def _writerecordsv1(self, records):
401 """Write current state on disk in a version 1 file""" 401 """Write current state on disk in a version 1 file"""
402 f = self._repo.vfs(self.statepathv1, 'w') 402 f = self._repo.vfs(self.statepathv1, 'wb')
403 irecords = iter(records) 403 irecords = iter(records)
404 lrecords = next(irecords) 404 lrecords = next(irecords)
405 assert lrecords[0] == 'L' 405 assert lrecords[0] == 'L'
406 f.write(hex(self._local) + '\n') 406 f.write(hex(self._local) + '\n')
407 for rtype, data in irecords: 407 for rtype, data in irecords:
413 """Write current state on disk in a version 2 file 413 """Write current state on disk in a version 2 file
414 414
415 See the docstring for _readrecordsv2 for why we use 't'.""" 415 See the docstring for _readrecordsv2 for why we use 't'."""
416 # these are the records that all version 2 clients can read 416 # these are the records that all version 2 clients can read
417 whitelist = 'LOF' 417 whitelist = 'LOF'
418 f = self._repo.vfs(self.statepathv2, 'w') 418 f = self._repo.vfs(self.statepathv2, 'wb')
419 for key, data in records: 419 for key, data in records:
420 assert len(key) == 1 420 assert len(key) == 1
421 if key not in whitelist: 421 if key not in whitelist:
422 key, data = 't', '%s%s' % (key, data) 422 key, data = 't', '%s%s' % (key, data)
423 format = '>sI%is' % len(data) 423 format = '>sI%is' % len(data)