sapling/eden/scm/tests/test-restack-old-stack-t.py
Jun Wu 2a99866d7b codemod: update license headers
Summary:
The "Portions" license cannot be updated automatically. So this is a manual
update using:

  sd -s 'Portions Copyright (c) Facebook, Inc. and its affiliates.' 'Portions Copyright (c) Meta Platforms, Inc. and affiliates.' `rg -l Facebook`
  sd -s 'Copyright (c) Facebook, Inc. and its affiliates.' 'Copyright (c) Meta Platforms, Inc. and affiliates.' `rg -l Facebook`

Differential Revision: D33420114

fbshipit-source-id: 49ae00a7b62e3b8cc6c5dd839b3c104a75e72a56
2022-01-05 14:43:32 -08:00

44 lines
1010 B
Python

# Copyright (c) Meta Platforms, Inc. and 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"'