sapling/eden/scm/tests/test-commitcloud-list-workspaces-t.py
Liubov Dmitrieva a37a294fda improve fbclone experience
Summary:
`hg cloud rejoin` is used in fbclone

By providing a bit more information about the workspaces available we can improve user
experience and try to eliminate the confusion multiple workspaces cause.

Reviewed By: mitrandir77

Differential Revision: D23623063

fbshipit-source-id: 7598c1b58597032c9cfcef0b44b0ec1b00510ffa
2020-09-11 03:45:55 -07:00

106 lines
3.1 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.
from __future__ import absolute_import
from testutil.dott import feature, sh, testtmp # noqa: F401
sh % "configure dummyssh"
sh % "enable commitcloud infinitepush"
sh % "cat" << r"""
[commitcloud]
hostname = testhost
servicetype = local
servicelocation = $TESTTMP
""" >> "$HGRCPATH"
sh % "setconfig 'remotefilelog.reponame=server'"
sh % "hg init server"
sh % "cd server"
sh % "cat" << r"""
[infinitepush]
server = yes
indextype = disk
storetype = disk
reponame = testrepo
""" >> ".hg/hgrc"
sh % "hg clone 'ssh://user@dummy/server' client -q"
sh % "cd client"
sh % "cat" << r"""
{ "workspaces_data" : { "workspaces": [ { "name": "user/test/old", "archived": true, "version": 0 }, { "name": "user/test/default", "archived": false, "version": 0 } ] } }
""" >> "$TESTTMP/workspacesdata"
sh % "hg cloud list" == r"""
commitcloud: searching workspaces for the 'server' repo
the following commitcloud workspaces are available:
default
run `hg cloud sl -w <workspace name>` to view the commits
run `hg cloud switch -w <workspace name>` to switch to a different workspace
run `hg cloud list --all` to list all workspaces, including deleted
"""
sh % "hg cloud list --all" == r"""
commitcloud: searching workspaces for the 'server' repo
the following commitcloud workspaces are available:
default
old (archived)
run `hg cloud sl -w <workspace name>` to view the commits
run `hg cloud switch -w <workspace name>` to switch to a different workspace
"""
sh % "hg cloud delete -w default" == r"""
commitcloud: workspace user/test/default has been deleted
"""
sh % "hg cloud delete -w default_abc" == r"""
abort: unknown workspace: user/test/default_abc
[255]
"""
sh % "hg cloud list --all" == r"""
commitcloud: searching workspaces for the 'server' repo
the following commitcloud workspaces are available:
old (archived)
default (archived)
run `hg cloud sl -w <workspace name>` to view the commits
run `hg cloud switch -w <workspace name>` to switch to a different workspace
"""
sh % "hg cloud list" == r"""
commitcloud: searching workspaces for the 'server' repo
no active workspaces found with the prefix user/test/
"""
sh % "hg cloud undelete -w default" == r"""
commitcloud: workspace user/test/default has been restored
"""
sh % "hg cloud list" == r"""
commitcloud: searching workspaces for the 'server' repo
the following commitcloud workspaces are available:
default
run `hg cloud sl -w <workspace name>` to view the commits
run `hg cloud switch -w <workspace name>` to switch to a different workspace
run `hg cloud list --all` to list all workspaces, including deleted
"""
sh % "hg cloud undelete -w old" == r"""
commitcloud: workspace user/test/old has been restored
"""
sh % "hg cloud list" == r"""
commitcloud: searching workspaces for the 'server' repo
the following commitcloud workspaces are available:
default
old
run `hg cloud sl -w <workspace name>` to view the commits
run `hg cloud switch -w <workspace name>` to switch to a different workspace
"""