sapling/eden/scm/tests/test-glog-topological-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

127 lines
2.0 KiB
Python

# coding=utf-8
# coding=utf-8
# Copyright (c) Facebook, Inc. and its affiliates.
# Copyright (c) Mercurial Contributors.
#
# 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
# This test file aims at test topological iteration and the various configuration it can has.
sh % "cat" << r"""
[ui]
logtemplate={rev}\n
""" >> "$HGRCPATH"
# On this simple example, all topological branch are displayed in turn until we
# can finally display 0. this implies skipping from 8 to 3 and coming back to 7
# later.
sh % "hg init test01"
sh % "cd test01"
sh % 'hg unbundle "$TESTDIR/bundles/remote.hg"' == r"""
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files"""
sh % "hg log -G" == r"""
o 8
│ o 7
│ │
│ o 6
│ │
│ o 5
│ │
│ o 4
│ │
o │ 3
│ │
o │ 2
│ │
o │ 1
├─╯
o 0"""
# (display all nodes)
sh % "hg log -G -r 'sort(all(), topo)'" == r"""
o 8
o 3
o 2
o 1
│ o 7
│ │
│ o 6
│ │
│ o 5
│ │
│ o 4
├─╯
o 0"""
# (display nodes filtered by log options)
sh % "hg log -G -r 'sort(all(), topo)' -k .3" == r"""
o 8
o 3
~
o 7
o 6
~"""
# (revset skipping nodes)
sh % "hg log -G --rev 'sort(not (2+6), topo)'" == r"""
o 8
o 3
o 1
│ o 7
│ ╷
│ o 5
│ │
│ o 4
├─╯
o 0"""
# (begin) from the other branch
sh % "hg log -G -r 'sort(all(), topo, topo.firstbranch=5)'" == r"""
o 7
o 6
o 5
o 4
│ o 8
│ │
│ o 3
│ │
│ o 2
│ │
│ o 1
├─╯
o 0"""