Perforce Java API Line-Ending Style

时间:2013-03-05 12:21:36

标签: java perforce

我的程序需要使用Perforce提供的Java API从Perforce存储库中读取文件列表。此程序使用共享只读登录,并在不使用客户端工作区的情况下获取文件。

这一切都运行正常,但我遇到的问题是文件总是看起来用\ r \ n行结尾检出。我尝试了各种顽皮的黑客攻击(例如将系统属性line.separator设置为\ n),但这些都不起作用。我注意到p4v客户端中的行结束样式是在工作区上设置的。我需要一个工作区来设置行结束样式吗?

不幸的是,虽然有一些文件永远不会改变,我可以将它们作为二进制文件提交,但我检索的其他文件不能作为二进制文件提交。

1 个答案:

答案 0 :(得分:2)

是 - 本地文件的行结束是在调用“sync”时由客户端(aka工作区)设置确定的。 如果您在没有同步而没有客户端的情况下获取文件,则必须“打印”它们。 在这种情况下,您必须自己进行行结束翻译。

也许您可以通过创建临时客户端来同步文件。 Here's an example为此(查看方法P4PublishTransaction)。