mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 17:27:53 +03:00
bbd4b91102
Summary: In the future the changelog would need to access 'remotenames' to figure out public heads. Move the state file to svfs so it can be read by the changelog object, which only has access to svfs. Reviewed By: sfilipco Differential Revision: D17199834 fbshipit-source-id: 9000e0d8e8bb8d398d6c77b5b395da904fef6418
106 lines
2.8 KiB
Python
106 lines
2.8 KiB
Python
# 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
|
|
|
|
|
|
sh % "setconfig 'extensions.treemanifest=!'"
|
|
sh % "cat" << r"""
|
|
[extensions]
|
|
smartlog=
|
|
remotenames=
|
|
""" >> "$HGRCPATH"
|
|
|
|
sh % "hg init repo"
|
|
sh % "cd repo"
|
|
|
|
sh % "echo x" > "x"
|
|
sh % "hg commit -qAm x"
|
|
sh % "hg book master"
|
|
sh % "echo x" >> "x"
|
|
sh % "hg commit -qAm x2"
|
|
|
|
# Non-bookmarked public heads should not be visible in smartlog
|
|
|
|
sh % "cd .."
|
|
sh % "hg clone repo client" == r"""
|
|
updating to branch default
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved"""
|
|
sh % "cd client"
|
|
sh % "hg book mybook -r 0"
|
|
sh % "hg up 0" == "1 files updated, 0 files merged, 0 files removed, 0 files unresolved"
|
|
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
|
|
o 1 default/master
|
|
|
|
|
@ 0 mybook"""
|
|
# Old head (rev 1) should no longer be visible
|
|
|
|
sh % "echo z" >> "x"
|
|
sh % "hg commit -qAm x3"
|
|
sh % "hg push --non-forward-move -q --to master"
|
|
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
|
|
@ 2 default/master
|
|
|
|
|
o 0 mybook"""
|
|
|
|
# Test configuration of "interesting" bookmarks
|
|
|
|
sh % "hg up -q '.^'"
|
|
sh % "echo x" >> "x"
|
|
sh % "hg commit -qAm x4"
|
|
sh % "hg push -q --to project/bookmark --create"
|
|
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
|
|
o 2 default/master
|
|
|
|
|
| @ 3 default/project/bookmark
|
|
|/
|
|
o 0 mybook"""
|
|
|
|
sh % "hg up '.^'" == "1 files updated, 0 files merged, 0 files removed, 0 files unresolved"
|
|
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
|
|
o 2 default/master
|
|
|
|
|
@ 0 mybook"""
|
|
sh % "cat" << r"""
|
|
[smartlog]
|
|
repos=default/
|
|
names=project/bookmark
|
|
""" >> "$HGRCPATH"
|
|
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
|
|
o 3 default/project/bookmark
|
|
|
|
|
@ 0 mybook"""
|
|
sh % "cat" << r"""
|
|
[smartlog]
|
|
names=master project/bookmark
|
|
""" >> "$HGRCPATH"
|
|
sh % "hg smartlog -T '{rev} {bookmarks} {remotebookmarks}'" == r"""
|
|
o 2 default/master
|
|
|
|
|
| o 3 default/project/bookmark
|
|
|/
|
|
@ 0 mybook"""
|
|
|
|
# Change remote master to a non-existing locally commit.
|
|
|
|
sh % "cat" << r"""
|
|
6dd477f76ca35ae46e82972648735867cf335d3e bookmarks remote/master
|
|
""" > ".hg/store/remotenames"
|
|
sh % "hg sl" == r"""
|
|
o changeset: 3:8e2253d950ae
|
|
| tag: tip
|
|
| parent: 0:b292c1e3311f
|
|
| user: test
|
|
| date: Thu Jan 01 00:00:00 1970 +0000
|
|
| summary: x4
|
|
|
|
|
@ changeset: 0:b292c1e3311f
|
|
bookmark: mybook
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: x"""
|