Perforce 性能更改的行尾

Perforce 性能更改的行尾,perforce,Perforce,我在Mac上有一个项目,并将其上传到perforce服务器。当我从PC获得项目时,所有的行尾都已更改,现在它无法在PC上编译。有没有办法像以前一样自动更改行尾,或者我必须从Windows再次提交所有项目?有没有办法使我的文件保持原样?我真的不想对我的源文件进行愚蠢的修改 谢谢 编辑: 这与perforce有关,我刚刚在MAC上编辑了10-20个文件,以制作一个多平台项目进行编译。其余的140k文件没有更改,甚至没有在Mac上打开(它们是由编译器打开编译的:P)。如果我在PC上复制项目,行结尾就可

我在Mac上有一个项目,并将其上传到perforce服务器。当我从PC获得项目时,所有的行尾都已更改,现在它无法在PC上编译。有没有办法像以前一样自动更改行尾,或者我必须从Windows再次提交所有项目?有没有办法使我的文件保持原样?我真的不想对我的源文件进行愚蠢的修改

谢谢

编辑:


这与perforce有关,我刚刚在MAC上编辑了10-20个文件,以制作一个多平台项目进行编译。其余的140k文件没有更改,甚至没有在Mac上打开(它们是由编译器打开编译的:P)。如果我在PC上复制项目,行结尾就可以了。

这与Performce没有任何关系,尽管它确实解决了这个问题

UNIX、PC和Mac机器上的行尾都不同。这就是你所看到的。通过任何介质在PC和Mac之间传输相同的文件都会得到相同的结果。如果你想用另一种方法来解决这个问题,你可以在Mac上设置编辑器,用windows行结尾保存文件


我错了“Perforce使用Unix样式的LF行结尾处理所有文本文件”。我会检查p4客户端LineEnd值(我认为这两台机器上都应该是本地的),并确保您使用的是p4>=2001.1版本,文本文件的行尾由您的客户端规范设置控制。您需要确保客户端的“LineEnd”值设置正确。一般来说,这应该留待“本地”处理,对于您正在使用的任何操作系统,本地都应该做正确的事情

也就是说,根据您最初上传文件时在Mac上设置的值,我认为在将这些文件同步到PC时可能会出现一些问题


我会检查以确保为您的客户将LineEnd设置为“本地”。Perforce知识库网站上有一个说明,更深入地讨论了Macintosh客户端的正确设置。这可能也是一个开始,以确保您在Macintosh上正确配置了东西。

是的,您可以。为两个客户端使用Unix行结尾将告诉Performce客户端保持文件提交方式不变。您也可以在服务器上设置触发器以强制执行此操作,请参阅我对此问题的回答:


我认为性能与此无关。你说你的项目在Mac上。可能您的MAC文本编辑器保存了您签入Performance的带有MAC行结尾的文件。现在,如果你在windows上同步它们,它们将以原来的Mac格式显示出来。你需要考虑一下你喜欢什么格式——Windows还是Mac?然后适当地检入你的文件。行尾是可以的,这个项目是在PC上创建的,在Mac上复制的,只是为了让它编译。我从未更改过Mac上的大多数文件。@d-live我现在遇到了与OP类似的问题。Perforce似乎确实改变了你的行尾,而且取决于它的设置,它在你提交文件和取出文件时都会这样做。这与Perforce有关,我刚刚在MAC上编辑了10-20个文件,制作了一个多平台项目进行编译。其余的140k文件没有更改,甚至没有在Mac上打开(它们是由编译器打开编译的:P)。如果我在电脑上复制这个项目,行尾是可以的。是的,对不起。请阅读“Perforce使用Unix样式的LF行结尾处理所有文本文件”。您使用的是Perforce版本>2001.1吗?您是否检查过p4客户端的“LineEnd”值是多少?My-1是因为答案中唯一正确的部分是“UNIX、PC和Mac机器上的行尾都不同”。其余部分是错误的。有一个Perforce设置可以使它处理所有以unix结尾的文本文件,但也有其他设置。Perforce的行尾处理完全中断。其所有模式都不符合Performce文档中的描述。在许多情况下,行为是将“CRLF”变成“CRCRLF”。我试图总结(令人困惑的)文档,请帮助查看: