Как получить тип файла Perforce с заданным путем к хранилищу через python? - PullRequest
1 голос
/ 09 марта 2020

У меня есть инструмент для создания контента, который обновляет файлы. Эти файлы были непоследовательно созданы как двоичные или текстовые.

Я хотел бы получить тип файла существующего файла хранилища, чтобы при сохранении новой ревизии пользователь экспортировал правильный тип из инструмента.

Кажется слишком хакерским просто всегда экспортировать как текст, чтобы избежать повреждения этих файлов типа p4. Помимо больших размеров файла, есть ли другие проблемы с проверкой в ​​текстовом файле как Binary in performance?

1 Ответ

0 голосов
/ 10 марта 2020

Я хотел бы получить тип файла существующего файла депо

Большинство команд Perforce, которые сообщают о файлах, будут включать тип файла как часть вывода. Самый простой из них - p4 files; если вы запустите p4 files FILENAME, то в конце вывода будет тип файла, например (text).

, поэтому, когда пользователь сохраняет новую ревизию, он экспортирует правильный тип из инструмента.

Имейте в виду, что тип файла Perforce не совпадает с концепцией типа вашего инструмента! Для Perforce .PNG и .PDF являются просто binary.

Помимо больших размеров файла, есть ли другие проблемы с проверкой в ​​текстовом файле как Binary in Perforce?

Двоичный файл, по сути, является «не текстовым» и будет отключать все функции Perforce, которые зависят от концепции разрывов строк и текстовых символов - дельта-хранилище RCS одно, но вы также не получите строку окончание преобразования формата, diff / merge, p4 annotate, p4 grep и т. д.

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

...