Где я могу сообщить об ошибке на GitHub? - PullRequest
0 голосов
/ 13 июня 2018

У меня есть совершенно правильный репозиторий, который некорректно отображает на GitHub.Как мне сообщить об этом в GitHub, чтобы заставить их это исправить?

К сожалению, это также влияет на инструмент командной строки git.

Если вы хотите знать, что происходит, посмотрите на 'encoding 'атрибут коммита.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

См. JWilliams 'ответ , где сообщать об ошибках в GitHub.[Редактировать: возможно, это должен быть ответ на ваш другой вопрос .]

Для чего бы то ни было, не стоит использовать что-то кроме UTF-8 для автора и коммиттеракодировка имени - поле encoding заголовка слишком сложно применить к части заголовка перед телом, так как оно находится в конце строк:

>>> import subprocess
>>> p = subprocess.Popen(['git', 'cat-file', '-p', 'HEAD'], stdout=subprocess.PIPE)
>>> o = p.stdout.read()
>>> hdr, body = o.split('\n\n', 1)
>>> hdr = hdr.splitlines()

строки заголовка длинныедаже после разделения:

>>> import pprint
>>> pprint.pprint(hdr)
['tree 79036d838fc5ce13e849949d02e6048c2d33c561',
 'author \xc5\x99\x89\x83@\xc8\x96\x97\x97\x85\x99 <\x88\x96\x97\x97\x85\x99|\x96\x94\x95\x89\x86\x81\x99\x89\x96\xa4\xa2K\x96\x99\x87> 1528844508 -0700',
 'committer \xc5\x99\x89\x83@\xc8\x96\x97\x97\x85\x99 <\x88\x96\x97\x97\x85\x99|\x96\x94\x95\x89\x86\x81\x99\x89\x96\xa4\xa2K\x96\x99\x87> 1528844508 -0700',
 'encoding cp037']

, но мы видим, что кодировка идет последней.Если бы в кодировке было что-то, имеющее байт-коды, похожие на символы новой строки (к счастью, cp037 нет), мы бы не смогли проанализировать сам заголовок.

Однако для тела это хорошая идеяиспользовать информацию о кодировке заголовка.Если мы работаем над чем-то, что имеет имеющуюся кодировку, то хорошо:

>>> body.decode('cp037')
u'Well, this should be interesting.\x8e'

(Python 2.7 здесь, конечно).

Очевидно, что ни GitHub, ни мой Git наэта машина может сделать это для cp037, но на этом конкретном хосте это неудивительно:

$ iconv -f cp037
iconv: conversion from cp037 unsupported

На другой машине с установленным набором символов iconv работает.Я не пробовал этот коммит в Git, но пропустил через него строку байтов строки заголовка;В результате получилось:

>>> import subprocess
>>> p = subprocess.Popen(['iconv', '-f', 'cp037'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
>>> so, se = p.communicate(s)
>>> so
'Eric Hopper\xc2\x80\x14hopper@omnifarious.org\xc2\x9e'

Как видите, угловые скобки были повреждены при переводе (поскольку анализ здесь был слишком простым - нам нужно было бы осторожно избегать их перевода).Опять же, однако, опасности очевидны: что если кодировка выдает >?

0 голосов
/ 13 июня 2018

Единственный способ, которым я знаю, - это написать по электронной почте support@github.com или заполнить форму на https://github.com/contact/, насколько я знаю, что у них нет системы отслеживания общедоступных проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...