view contrib/merge-test-compat.sh @ 6841:83a8122cfd8c

ci: run checks-py3 using v2.0 images The changes in test-check-sdist.t are related to the "egg-info" directory inside the tarball. Apparently the newer versions of whatever `setup.py sdist` is using now adds this directory with various meta information about the package, so now we have 5 more files in the tarball. The exact files are: hg_evolve.egg-info/ hg_evolve.egg-info/PKG-INFO hg_evolve.egg-info/SOURCES.txt hg_evolve.egg-info/dependency_links.txt hg_evolve.egg-info/top_level.txt
author Anton Shestakov <av6@dwimlabs.net>
date Mon, 09 Sep 2024 17:28:07 +0400
parents 17fac26833da
children
line wrap: on
line source

#!/bin/bash
set -euox pipefail

unset GREP_OPTIONS

compatbranches=$(hg branches --quiet | grep 'mercurial-' | grep -v ':' | sort -n --reverse)
prev='stable'
topic=${1:-'test-compat'}
for branch in $compatbranches; do
    # Logic in the revsets below:
    # 1. There is target topic on stable or compatibility branch: merge all
    # those commits, they are related to our work and need to pass tests on all
    # compatibility branches.
    # 2. There is no target topic: avoid any commits that have topic set, they
    # are definitely unrelated to what we're doing.
    # In other words, if you want to test certain commits, assign them all to
    # one topic and provide that topic as the first argument to this script.
    uptarget="first(max(branch('$branch') and topic('$topic')) or max(branch('$branch') and not topic()))"
    hg up -r "$uptarget"
    hg topic "$topic"
    mergetarget="first(max(branch('$prev') and topic('$topic')) or max(branch('$prev') and not topic()))"
    hg merge -r "$mergetarget"
    hg commit -m "test-compat: merge $prev into $branch"
    prev=$branch
done