yuja added a comment.
Queued the first 4 patches, thanks. > $ HGEDITOR="sh $TESTTMP/editplan.sh" hg histedit --edit-plan > $ cat .hg/histedit-state > > - v1 > - 055a42cdd88768532f9cf79daa407fc8d138de9b > - 3c6a8ed2ebe862cc949d2caa30775dd6f16fb799 > - False > - 3 > - drop > - e860deea161a2f77de56603b340ebbb4536308ae > - drop > - 652413bf663ef2a641cab26574e46d5f5a64a55a > - drop > - 3c6a8ed2ebe862cc949d2caa30775dd6f16fb799 > - 0 > - strip-backup/177f92b77385-0ebe6a8f-histedit.hg + 2 I know anything other than "v1" will make old hg crash, but I think the version syntax should stay "v%d" (i.e. "v2" in this case.) > def _write(self, fp): > > - fp.write('v1\n') > - fp.write('%s\n' % node.hex(self.parentctxnode)) > - fp.write('%s\n' % node.hex(self.topmost)) > - fp.write('%s\n' % ('True' if self.keep else 'False')) > - fp.write('%d\n' % len(self.actions)) + data = {'parentctxnode': self.parentctxnode, + 'topmost': self.topmost, + 'keep': self.keep, + 'backupfile': self.backupfile, + 'replacements': self.replacements} + rules = [] for action in self.actions: > - fp.write('%s\n' % action.tostate()) > - fp.write('%d\n' % len(self.replacements)) > - for replacement in self.replacements: > - fp.write('%s%s\n' % (node.hex(replacement[0]), ''.join(node.hex(r) > - for r in replacement[1]))) > - backupfile = self.backupfile > - if not backupfile: > - backupfile = '' > - fp.write('%s\n' % backupfile) + rules.append(action.tostate().split('\n')) + rules = "\n".join(["%s %s" % (verb, rest) for [verb, rest] in rules]) Isn't it better to serialize `[(verb, rest)]` as is since CBOR can store that? REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D3866 To: pulkit, durin42, #hg-reviewers Cc: yuja, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel