sapling/eden/scm/tests/test-restack-old-stack-t.py

44 lines
1008 B
Python
Raw Normal View History

# Copyright (c) Facebook, Inc. and its affiliates.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2.
from __future__ import absolute_import
from testutil.dott import feature, sh, testtmp # noqa: F401
# Using modern setup
sh % "enable remotenames amend rebase"
sh % 'setconfig experimental.narrow-heads=true visibility.enabled=true mutation.record=true mutation.enabled=true "mutation.date=0 0" experimental.evolution= remotenames.rename.default=remote'
# Test restack behavior with old stacks.
sh % "newrepo"
(
sh % "drawdag"
<< r"""
D2 # amend: D1 -> D2
/ # (This suggests a rebase from E1 to D2)
M
| E1
| |
| D1
| |
| | C1
| |/
| B1
|/
| B2 # amend: B1 -> B2
|/ # (This suggests a rebase from C1 to B2)
A
"""
)
sh % 'hg debugremotebookmark master "$M"'
sh % 'hg up -q "$D2"'
# Restack should not rebase C1 to B2, since the user is not on the B2 stack.
sh % "hg rebase --restack" == 'rebasing 87d9afc4bc4e "E1"'