如何强制Perforce(P4V)结帐并使用Unix行结尾提交?

时间:2017-03-28 15:28:26

标签: perforce line-endings p4v perforce-client-spec

我在Windows计算机上,在我的P4V workspace:advanced-settings中,我选择了以下内容:

workspace setting

但在提交和检查其他计算机后,我仍然注意到某些文件中有多余的空格。有没有办法强制每个结帐和提交都是Unix风格?

注意,我无法修改服务器设置,只能修改本地工作区。

1 个答案:

答案 0 :(得分:3)

如果您将LineEnd设置为unix并且您同步的文件中包含\r个字符,则表示有人使用unix以该格式提交了这些文件(即检查了文件)在理解它们的Unix版本应该具有与原生行结尾不同的那些字符时)。如果您从unix模式工作空间提交Windows样式的文件,则表示所有unix工作空间应该具有这些文件的Windows样式行结尾。在某些情况下,这是可取的,例如当您使用Unix机器为Windows系统构建软件包时,但对于跨平台使用的源代码,这通常是一件坏事。

通过历史记录,弄清楚是谁做到了这一点,以及让管理员强行修改他们的LineEnd设置以便它实际上与工作区的内容相匹配,并不是很难,我全心全意地建议您在询问unix文件时获取此项并获取您不想要的win样式文件。通常,如果每个人都使用默认设置local,一切正常。

就修复文件而言,一种非常简单的方法是将LineEnd更改为share,打开所有文件进行编辑,然后提交它们 - share设置强制所有{ {1}}在提交时要删除的字符,就好像每次提交时都在{1}}上运行所有文件。