sapling/eden/scm/tests/test-merge-ancestor-mergestate-t.py
Jun Wu 9bf6b674a6 config: use Rust graph render as default
Summary: Change the legacy Python graph render to Rust renderer.

Reviewed By: DurhamG

Differential Revision: D24317802

fbshipit-source-id: 4c3dc3a6dd02b7ebe79596a8e77f4b6b139d2e20
2020-10-19 17:07:30 -07:00

74 lines
1.9 KiB
Python

# coding=utf-8
# 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 or any later version.
from __future__ import absolute_import
from testutil.dott import feature, sh, testtmp # noqa: F401
# Verify ancestry data is readable by mergedrivers by looking at mergestate:
sh % "newrepo"
sh % "enable rebase"
sh % "setconfig 'experimental.evolution='"
sh % "setconfig 'rebase.singletransaction=True'"
sh % "setconfig 'rebase.experimental.inmemory=True'"
sh % "mkdir driver"
sh % "cat" << r"""
def preprocess(ui, repo, hooktype, mergestate, wctx, labels=None):
unresolved_files = list(mergestate.unresolved())
ui.warn("ancestor nodes = %s\n" % [ctx.hex() for ctx in mergestate.ancestorctxs])
ui.warn("ancestor revs = %s\n" % [ctx.rev() for ctx in mergestate.ancestorctxs])
mergestate.commit()
def conclude(ui, repo, hooktype, mergestate, wctx, labels=None):
pass
""" > "driver/__init__.py"
sh % "setconfig 'experimental.mergedriver=python:driver/'"
sh % "hg commit -Aqm driver"
sh % "hg debugdrawdag" << r"""
E # E/file = 1\n2\n3\n4\n5
|
D
|
C F b # F/file = 0\n1\n2\n3\n4
|/
B
|
A # A/file = 1\n2\n3\n4
"""
sh % "hg rebase -s A -d 0" == r"""
rebasing 19c6d3b0d8fb "A" (A)
rebasing 5a83467e1fc3 "B" (B)
rebasing 09810f6b52c0 "F" (F)
rebasing 3ff755c5931b "C" (C)
rebasing dc7f2675f9ab "D" (D)
rebasing 5eb863826611 "E" (E)"""
sh % "showgraph" == r"""
o e71547946f82 E
o 264c021e8fc6 D
o 34e41e21cd9d C
│ o aa431a9572c1 F
├─╯
o 01ba3ad89eb7 B
o 622e2d864a27 A
│ o 520a9f665f6e b
@ 9309aa3b805a driver"""
sh % "hg rebase -r aa431a9572c1 -d e71547946f82" == r"""
rebasing aa431a9572c1 "F" (F)
ancestor nodes = ['01ba3ad89eb70070d81f052c0c40a3877c2ba5d8']
ancestor revs = [9]
merging file"""