Mercurial > evolve
view contrib/merge-test-compat.sh @ 5779:96ed73c5c6ca
doc: remove .strip() for a docstring
This shouldn't be necessary, and by stripping it (and removing the trailing
newline) it causes issues with Mercurial's doc/gendoc.py's RST output, since
there's no newline separating this string and the thing that comes after it.
I believe that the `.strip()` has been in there since the beginning, but I have
not found a reason for its existence. It's possible that this was required in
older Mercurial versions, but is no longer required? Notably, the tests (which
include an invocation of `hg help evolution`) still pass with this change.
### Alternatives considered
- Making gendoc.py robust against this. This was rejected since there's no need
for the .strip() as far as I can tell, and this is the only case I know of
that would need such logic.
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Wed, 17 Feb 2021 12:00:45 -0800 |
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