我对 Perforce 和 Helix 非常陌生。但我正在尝试为我的一位同事创建一个新的仓库,以便在这个工作区中使用。 (这样他就不会干扰我们默认的仓库)。
但是,我无法上传任何内容。
我的设置
我有一个在 Digital Ocean 上运行的 Ubuntu 云服务器。我的客户端在 Windows 计算机(我同事的每台本地计算机)上运行。
我的工作流程
我首先登录我的服务器并运行
sudo p4 depot testdepot
# A Perforce Depot Specification.
#
# Depot: The name of the depot.
# Owner: The user who created this depot.
# Date: The date this specification was last modified.
# Description: A short description of the depot (optional).
# Type: Whether the depot is 'local', 'remote',
# 'stream', 'spec', 'archive', 'tangent',
# 'unload' or 'graph'. Default is 'local'.
# Address: Connection address (remote depots only).
# Suffix: Suffix for all saved specs (spec depot only).
# StreamDepth: Depth for streams in this depot (stream depots only).
# Map: Path translation information (must have ... in it).
# SpecMap: For spec depot, which specs should be recorded (optional).
#
# Use 'p4 help depot' to see more about depot forms.
Depot: testdepot
Owner: root
Date: 2018/10/14 14:32:58
Description:
Created by root.
Type: local
Address: local
Suffix: .p4s
StreamDepth: //testdepot/1
Map: testdepot/...
之后,我转到本地计算机上的
admin view
,检查仓库是否确实已创建:
太棒了,现在我转到我的
client
并创建一个新的工作区,其中仅包含新创建的仓库 testdepot
:
请注意,我已经排除了
default depot
我按
OK
。
它让我切换到新的
workspace
。首先,我尝试创建一个文件夹,但它告诉我无法创建。我认为这是因为根文件夹不存在。
所以我转到该文件夹并创建实际的文件夹
testingNewDepot
然后我创建一个名为
txt
的 test
文件,返回我的客户端并按 mark for add
在这里我收到第一个警告:
报告警告
d:\UnityProjects estingNewDepot est.txt - 文件不在客户端视图中。
所以我无法上传任何内容到此
depot
。
如果我返回我的服务器并尝试使用
ls
中的 /opt/perforce/servers
查找实际的仓库,我似乎找不到应该保存该仓库的文件夹。
我也尝试过实际创建该文件夹,但没有成功。接下来我可以尝试什么?
您的客户端视图将您的测试站映射到
d:\UnityProjects\testingNewDepot\testdepot
。
您尝试添加的路径
d:\UnityProjects\testingNewDepot\test.txt
不在您的客户端视图中。
要解决此问题,请更改客户端视图以容纳您尝试添加的文件(例如,将地图的客户端部分从
//testingNewDepot/testdepot/...
更改为 //testingNewDepot/...
- 这似乎就是您的目标)或将文件移动到当前客户端视图中映射的客户端文件夹(例如,尝试在 d:\UnityProjects\testingNewDepot\testdepot\test.txt
下添加文件)。
在我看来,所有这些东西通过命令行比尝试通过 P4V 对话框导航要容易得多;尤其是 P4V 中的客户端视图生成器,每当我尝试使用它时,它总是像一场噩梦。这是整个“添加测试文件”工作流程,从开始到结束包括登录、配置环境、创建新的仓库、创建工作区目录和设置客户端工作区:
# Login (P4V probably already did this for you, but here's how you do it...)
# Your username needs to have "super" permissions to let you create the depot.
p4 set P4PORT=ssl:178.62.85.150:1666
p4 set P4USER=MarcRasm
p4 login
# Making the depot is easy, just use the defaults.
# Note that you can do this from a client host; you don't need to use sudo on the server.
p4 depot -o testdepot | p4 depot -i
# Switch to the test directory. If it already exists and you're there skip this.
D:
mkdir D:\UnityProjects\testingNewDepot
cd D:\UnityProjects\testingNewDepot
# Create your new client spec called "testingNewDepot" and set up its view correctly.
p4 set P4CLIENT=testingNewDepot
p4 --field "View=//testdepot/... //testingNewDepot/..." client -o | p4 client -i
# Create and add a test file.
echo asdf > test.txt
p4 add test.txt
p4 submit -d "Adding test file."