如何以编程方式使用 p4 typemap (java) 而不是使用终端?
How to use p4 typemap programmatically (java) rather than using terminal?
我必须在 Perforce Server 中提交一个 XML 文件。 XML 标签的值可以用任何语言形成,如英语、日语、中文等。但是当我添加日语或中文时,文件类型变成二进制而不是文本。这是因为 Perforce 服务器根据它是否在文件的前 8192 个字节中检测到非文本字符来识别二进制文件和文本文件。
经过学习,我知道有一个术语叫做p4 typemap,可以用来覆盖默认的自动检测文件类型的逻辑。
参考:https://community.perforce.com/s/article/3454
但问题是这个解决方案是基于 p4v 和终端的,但我想知道有没有办法以编程方式执行此操作?
您不一定需要类型映射来执行此操作;您还可以将文件类型指定为 p4 add
命令的参数,例如:
p4 add -t binary blahblah.xml
如果您有一些 XML 文件是 Unicode/binary 和一些 ASCII 文件,那么在每个文件的基础上指定它比尝试在类型映射中捕获它更有意义.类型映射旨在由管理员提前设置以表示常见的覆盖,而不是由应用程序即时修改。
要将 p4 commands/options 转换为 Java 代码,请参阅 P4 Java API 文档:
我必须在 Perforce Server 中提交一个 XML 文件。 XML 标签的值可以用任何语言形成,如英语、日语、中文等。但是当我添加日语或中文时,文件类型变成二进制而不是文本。这是因为 Perforce 服务器根据它是否在文件的前 8192 个字节中检测到非文本字符来识别二进制文件和文本文件。
经过学习,我知道有一个术语叫做p4 typemap,可以用来覆盖默认的自动检测文件类型的逻辑。
参考:https://community.perforce.com/s/article/3454
但问题是这个解决方案是基于 p4v 和终端的,但我想知道有没有办法以编程方式执行此操作?
您不一定需要类型映射来执行此操作;您还可以将文件类型指定为 p4 add
命令的参数,例如:
p4 add -t binary blahblah.xml
如果您有一些 XML 文件是 Unicode/binary 和一些 ASCII 文件,那么在每个文件的基础上指定它比尝试在类型映射中捕获它更有意义.类型映射旨在由管理员提前设置以表示常见的覆盖,而不是由应用程序即时修改。
要将 p4 commands/options 转换为 Java 代码,请参阅 P4 Java API 文档: