一个 perforce 标签可以有多个所有者吗?
Can a perforce label have multiple owners?
tl;博士:
标题是我的问题
情况:
A co-worker和我一起做一个项目,我不能用他的标签,他也不能用我的。
(编辑)示例:
我们都在处理同一组源文件。 Co-worker 将他的标签应用于文件。 (例如 file.txt#1
)我可以同步这些文件,编辑它们,但我无法将标签应用于它们。 (例如 file.txt#2
)这意味着我无法同步我的更改,除非我使用另一个标签。
我们的自动化测试脚本只需要一个标签来了解要同步的内容,但它需要能够运行针对我们的两组更改。
(例如/other/path/to/safe/compile/zone/automated_test.sh
有一行:p4 sync //path/to/project/source/sub/folder/...@PROJECT_V_1.0.0
)
问题:
有没有办法让我们都成为一个标签的所有者?
我的公司是否严重滥用 perforce?
限制条件:
我们无法更改与我们的 user/group/anything 有关的任何内容,我们没有 sudo'er。我们不能切换到一个正常的程序,比如 git.
标签类似于此示例:
- PROJECT_V_1.2.3
- PROJECT_V_1.2.4
- PROJECT_V_1.5.7
- 等..
...我们只想拥有一个共享标签“PROJECT_V_1.0.1”,直到我们完成我们正在进行的单个更改。
从标签中删除所有者。来自 "p4 help labelsync":
Only the owner of a label can run labelsync on that label. A label
that has its Options: field set to 'locked' cannot be updated. A
label without an owner can be labelsync'd by any user.
根据您的情况描述,我还可能建议您使用分支而不是标签将您的共享工作与其他更改隔离开来,因为使用标签您不能排除对您已经拥有的文件所做的更改已修改——分支可以更容易地选择要合并的更改以及何时合并它们,而不管您是否碰巧对相同的文件进行了修改。不过这超出了这个问题的范围...
Perforce 是一款了不起的软件,但他们犯的一个大错误是调用了一个与人们期望的标签完全不同的功能 labels
。
Perforce 标签是工作区或客户端的快照,其中可以包含非最新版本的文件。这就是为什么您和您的朋友无法共享它们的原因。 perforce 的工作空间通常分配给 1 个人。任何移除所有权以便您可以从朋友标签中结账的行为都是黑客行为,您可能根本不应该使用标签。
根据您要执行的操作,您可能应该只是共享版本的更改列表编号。
另请阅读有关 perforce 中的分支的信息,重点是您可以使用 perforce 中的工具在分支之间合并更改(而不是手动进行更改)。
tl;博士:
标题是我的问题
情况:
A co-worker和我一起做一个项目,我不能用他的标签,他也不能用我的。
(编辑)示例:
我们都在处理同一组源文件。 Co-worker 将他的标签应用于文件。 (例如 file.txt#1
)我可以同步这些文件,编辑它们,但我无法将标签应用于它们。 (例如 file.txt#2
)这意味着我无法同步我的更改,除非我使用另一个标签。
我们的自动化测试脚本只需要一个标签来了解要同步的内容,但它需要能够运行针对我们的两组更改。
(例如/other/path/to/safe/compile/zone/automated_test.sh
有一行:p4 sync //path/to/project/source/sub/folder/...@PROJECT_V_1.0.0
)
问题:
有没有办法让我们都成为一个标签的所有者? 我的公司是否严重滥用 perforce?
限制条件:
我们无法更改与我们的 user/group/anything 有关的任何内容,我们没有 sudo'er。我们不能切换到一个正常的程序,比如 git.
标签类似于此示例:
- PROJECT_V_1.2.3
- PROJECT_V_1.2.4
- PROJECT_V_1.5.7
- 等..
...我们只想拥有一个共享标签“PROJECT_V_1.0.1”,直到我们完成我们正在进行的单个更改。
从标签中删除所有者。来自 "p4 help labelsync":
Only the owner of a label can run labelsync on that label. A label
that has its Options: field set to 'locked' cannot be updated. A
label without an owner can be labelsync'd by any user.
根据您的情况描述,我还可能建议您使用分支而不是标签将您的共享工作与其他更改隔离开来,因为使用标签您不能排除对您已经拥有的文件所做的更改已修改——分支可以更容易地选择要合并的更改以及何时合并它们,而不管您是否碰巧对相同的文件进行了修改。不过这超出了这个问题的范围...
Perforce 是一款了不起的软件,但他们犯的一个大错误是调用了一个与人们期望的标签完全不同的功能 labels
。
Perforce 标签是工作区或客户端的快照,其中可以包含非最新版本的文件。这就是为什么您和您的朋友无法共享它们的原因。 perforce 的工作空间通常分配给 1 个人。任何移除所有权以便您可以从朋友标签中结账的行为都是黑客行为,您可能根本不应该使用标签。
根据您要执行的操作,您可能应该只是共享版本的更改列表编号。
另请阅读有关 perforce 中的分支的信息,重点是您可以使用 perforce 中的工具在分支之间合并更改(而不是手动进行更改)。