Как программно использовать p4 typemap (java) вместо терминала? - PullRequest
1 голос
/ 27 мая 2020

Мне нужно отправить файл XML в Perforce Server. Значение тега XML может быть сформировано на любом языке, например на английском sh, японском, китайском и c. Но когда я добавляю японский или китайский язык, тип файла становится двоичным, а не текстовым. Это потому, что Perforce Server идентифицирует двоичные и текстовые файлы в зависимости от того, обнаруживает ли он нетекстовые символы в первых 8192 байтах файла.

После изучения я узнал, что существует термин под названием p4 typemap , который может быть использован для отмены logi c по умолчанию автоматического определения типа файла.

Ссылка: https://community.perforce.com/s/article/3454

Но проблема в том, что это решение основано на p4v и терминале, но я хочу знать, есть ли способ сделать это программно?

1 Ответ

1 голос
/ 27 мая 2020

Для этого вам не обязательно нужна карта типов; вы также можете указать тип файла в качестве параметра команды p4 add, например:

p4 add -t binary blahblah.xml

Если у вас есть файлы XML в формате Unicode / binary, а некоторые в формате ASCII, это имеет больше смысла чтобы указать это для каждого файла, а не пытаться зафиксировать это в карте типов. Карта типов предназначена для предварительной настройки администратором для представления общих переопределений, не изменяемых приложениями на лету.

Чтобы преобразовать команды / параметры p4 в код Java, см. P4 Java API do c:

...