LINUX.ORG.RU

Git api запушить файл с кодировкой CP-1251

 ,


0

1

Использую gitlab api https://docs.gitlab.com/ee/api/commi...es-and-actions

Пушу файл в git хранилище используя параметры так

param = {
                "branch": branch_name,
                "commit_message": comment,
                "actions": [{
                        "action": "create",
                        "file_path": file_path,
                        "content": file_content,
                         "encoding":"text"
                }]
        }

file_content питоновская строка бинарные данные.

Файл пушиться, но создается в кодировке UTF-8, нужно в CP-1251, кто подскажет как это сделать и возможно ли это???



Последнее исправление: beastie (всего исправлений: 1)

Ответ на: комментарий от robus

Все файлы в хранилище в кодировке СP-1251 их несколько тысяч, приложение, которое обрабатывает эти файлы заточено также под кодировку CP-1251, слишком много усилий придется приложить, чтобы перейти на работу с UTF-8

polin11
() автор топика

Гитлаб не поддержвиает блобы в чём-то, что не в utf8.

Есть несколько путей решения проблемы:
1. Если используешь свой инстанс гитлаба, то можешь накатить патчи отсюда: https://gitlab.com/gitlab-org/gitlab-ce/issues/14048
Работоспособность не гарантируется, как ты сам понимаешь.
2. Пинать контрибьютора в https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15485, чтобы он закончил свой PR. Затем пинать мейнтейнера, чтобы PR замержили. Затем ждать релиза и обновиться.
3. Мигрануть свой софт на utf8.
4. Не использовать гитлаб.

blackst0ne ★★★★★
()
Ответ на: комментарий от blackst0ne

Наверное можно просто объявить эти файлы бинарями.

slapin ★★★★★
()
Ответ на: комментарий от polin11

Все файлы в хранилище в кодировке СP-1251 их несколько тысяч, приложение, которое обрабатывает эти файлы заточено также под кодировку CP-1251, слишком много усилий придется приложить, чтобы перейти на работу с UTF-8

Отмазка плохая. Приложение перевести - несколько строк поправить. А файлов вообще не важно сколько - любое количество одинаково автоматизируется.

Einstok_Fair ★★☆
()

Делай iconv туда-обратно, зачем тебе cp в гит?

crutch_master ★★★★★
()
Ответ на: комментарий от Einstok_Fair

Приложение перевести - несколько строк поправить

Смотря, как написано. Всякие if ((a[0] == 'х') && (a[2] == 'й')) запаришься переделывать.

gremlin_the_red ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.