Perforce:保持Perforce不改变文本文件格式

hyt*_*ayr 14 perforce file-format

有没有办法告诉Perforce单独保留文本文件而不将文件类型设置为二进制文件?或者除此之外,有没有办法告诉Perforce客户端区分二进制文件?二进制通常是不可取的,因为我失去了diff的能力.

澄清一下:如果我在窗口客户端上编辑和更改*.txt文件,换行符将按照DOS格式提供CR + LF.但是,如果我在Unix客户端上进行P4同步,它将只有LF.无论Perforce客户端在哪里,我都需要Perforce保持格式不变.

也就是说,我确实有一个解决办法:将文件类型设置为二进制; 和/或创建一个文本文件设置为"文本"的分支,并定期集成回主线,文本文件设置为"二进制".但这是一个过于复杂的解决方案,应该是一个非常简单的问题.

最后,我在Perforce Windows客户端2006.2上.

提前致谢.

Dou*_*der 10

将所有客户端/工作区规范设置为"unix"行结尾.在Windows上签入时,不会进行任何转换.

请参阅http://answers.perforce.com/articles/KB_Article/CR-LF-Issues-and-Text-Line-endings/


rav*_*ven 5

如果您LineEnd在客户端上正确设置了选项,Perforce客户端可以在同步到不同平台时正确处理行结束.也许你错了吗?打开您的客户端规格并LineEnd根据您的需要设置选项.

有关更多信息,请查看其网站上的知识库文章.这是一段摘录:

在服务器端,Perforce使用Unix风格的LF行结束处理所有文本文件.虽然Perforce将服务器归档文件存储在操作系统的本机行终止约定(Windows上的CR/LF,Unix上的LF)上,​​但所有行结束都标准化为Unix样式的LF行结束,用于内部Perforce Server操作,例如p4同步,p4提交和p4差异.

在客户端工作区端,Perforce对行结束的处理由每个clientspec的全局选项确定.当您使用p4同步将文本文件同步到客户端工作区,或使用p4 submit将它们提交回Perforce Server时,它们的行结尾将按照clientspec LineEnd部分中的指定进行转换.