tests/testlib/ext-sidedata-4.py
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 20 Apr 2021 05:08:55 +0200
changeset 46989 aed6ceaad6d7
parent 46731 ba8e508a8e69
child 48966 6000f5b25c9b
permissions -rw-r--r--
streamclone: treat volatile file as "fullfile" The nodemap related file might change (or get deleted) during the stream clone in a way incompatible with the streaming process. So we introduce a new flag for this type of file and integrate it with the existing `revlog_type` field recently added to `store.walk` returns. We use that new flat to dispatch such file to the existing mechanism for "atomic replacement" file for the nodemap docket and datafile. This fix the bugs we have been adding tests for. Strictly speaking, the nodemap datafile is happened only a could maybe be used in a slightly more efficient way, however this is good enough for now. Differential Revision: https://phab.mercurial-scm.org/D10481

# coding: utf8
# ext-sidedata-4.py - small extension to test (differently still) the sidedata
# logic
#
# Simulates a server for a complex sidedata exchange.
#
# Copyright 2021 Raphaël Gomès <rgomes@octobus.net>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.

from __future__ import absolute_import

from mercurial.revlogutils import sidedata


def reposetup(ui, repo):
    repo.register_wanted_sidedata(sidedata.SD_TEST2)
    repo.register_wanted_sidedata(sidedata.SD_TEST3)