mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
7a759b6075
Summary: Remove public heads when using Rust changelog backends. This should address some issues seen in commit cloud sync. This is done at the metalog commit time so we get the latest "remotenames" data for accurate "public()" set calculation. Reviewed By: singhsrb Differential Revision: D26792731 fbshipit-source-id: 00b894fee9804740d664dad0ac47be564820da33
90 lines
2.3 KiB
Python
90 lines
2.3 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
|
|
|
|
|
|
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) is still 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"""
|