【发布时间】:2017-03-28 15:28:26
【问题描述】:
我在 Windows 机器上,在我的 P4V workspace:advanced-settings 中,我选择了以下内容:
但在另一台机器上提交和检查后,我仍然注意到一些文件中有多余的空格。有没有办法强制每次结帐和提交都是 Unix 风格?
注意,我不能修改服务器设置,只能修改我的本地工作区。
【问题讨论】:
标签: perforce line-endings p4v perforce-client-spec
我在 Windows 机器上,在我的 P4V workspace:advanced-settings 中,我选择了以下内容:
但在另一台机器上提交和检查后,我仍然注意到一些文件中有多余的空格。有没有办法强制每次结帐和提交都是 Unix 风格?
注意,我不能修改服务器设置,只能修改我的本地工作区。
【问题讨论】:
标签: perforce line-endings p4v perforce-client-spec
如果您将 LineEnd 设置为 unix 并且您同步的文件中包含 \r 字符,这意味着使用 unix 的人以该形式提交了它们(即文件被签入时理解为它们的 Unix 版本应该有那些与本地行结尾不同的字符)。如果您从unix-mode 工作区提交Windows 样式的文件,您的意思是所有unix 工作区都应该有这些文件的Windows 样式的行尾。这在某些情况下是可取的,例如当您使用 Unix 机器为 Windows 系统构建软件包时,但对于旨在跨平台使用的源代码,这通常是一件坏事。
浏览历史并不难,找出是谁做的,然后给他们提供线索(或者让管理员强制修复他们的 LineEnd 设置,以便它实际上与他们工作区的内容相匹配),我全心全意建议在您要求 unix 文件并获得您不想要的 win 样式文件时执行此操作。通常如果每个人都使用默认设置 local 一切正常。
就修复文件而言,一个非常简单的方法是将您的 LineEnd 更改为 share,打开所有文件进行编辑,然后提交它们 - share 设置强制所有 \r 字符在提交时被删除,就好像您每次提交时都在对所有文件运行 dos2unix。
【讨论】: