是否有一种方法可以告诉Perforce不设置文本文件而不将文件类型设置为二进制?否则,有没有办法让Perforce客户端区分二进制文件?二进制通常是不可取的,因为我失去了区分的能力。
为了澄清:如果我编辑并更改了窗口客户端上的*.txt文件,新行将按照DOS格式拥有CR+LF。但是如果我在Unix客户机上同步P4,它将只具有LF。我需要Perforce保持格式不变,不管Perforce客户端住在哪里。
尽管如此,我确实有一个解决方案:将文件类型设置为二进制;和/或创建一个将文本文件设置为" text“的分支,并定期集成回主行,其中文本文件被设置为”二进制“。但这是一个过于复杂的解决方案--应该是一个非常简单的问题。
最后,我在Perforce Windows 2006.2上。
提前谢谢。
发布于 2010-01-29 10:40:58
将所有客户端/工作区规范设置为“unix”行尾。然后,当您在Windows上签入时,将不会发生转换。
请参阅文章/CR-LF-问题-文本-行-结尾/
发布于 2010-01-28 20:16:09
Perforce客户端可以在同步到不同平台时正确处理行结束,前提是您在客户端上正确设置了LineEnd选项。也许你把你的错了?打开您的客户端规范并根据您的需要设置LineEnd选项。
查看他们网站上的这篇KB文章以获得更多信息。以下是一段节选:
在服务器端,Perforce使用Unix样式的LF行尾处理所有文本文件.尽管Perforce在操作系统的本机线路终止约定( Windows上的CR/ LF,Unix上的LF )中将服务器存档文件存储在磁盘上,但对于内部Perforce服务器操作(如p4同步、p4 submit和p4 diff ),所有行尾都标准化为Unix样式的LF行结束。 在客户端工作区端,行尾的Perforce处理由每个客户端规范的全局选项决定。当您使用p4同步将文本文件同步到客户端工作区,或将它们提交回Perforce服务器时,它们的行尾将按照clientspec LineEnd部分中的指定进行转换。
发布于 2010-02-08 16:35:56
当向Perforce添加希望被视为二进制的文本文件时,请使用带有-t选项的命令-t覆盖类型映射表。请参阅文档这里。给出的例子是p4 add -t binary file.pdf。
https://stackoverflow.com/questions/2157025
复制相似问题