LINUX.ORG.RU
ФорумTalks

Гитокапец близок... :)

 , гитокапец,


0

2

Вчера вечером поработал дома, что-то закоммитил в рабочую ветку, запушил коммит на рабочий сервер, захлопнул ноут, лег спать. Утром открыл ноут, к коду не прикасался, ушел на работу.

Пришел на работу, увидел свой коммит, все хорошо.

Вечером пришел с работы, сливаю домой сегодняшние труды, вижу такое:

gleb@raccoon:$ git pull
error: object file .git/objects/3c/f347b7705cdd076566bc86a45b85c13d83154c is empty
error: object file .git/objects/3c/f347b7705cdd076566bc86a45b85c13d83154c is empty
error: cannot pull with rebase: Your index contains uncommitted changes.
error: Please commit or stash them.
gleb@raccoon:$ git status 
error: object file .git/objects/3c/f347b7705cdd076566bc86a45b85c13d83154c is empty
error: object file .git/objects/3c/f347b7705cdd076566bc86a45b85c13d83154c is empty
fatal: bad object HEAD

В рецептах как чинить невнятные семь раз запустить git fsck --full с промежуточными приседаниями. Ладно, думаю, а чонь-ть попроще этой сюиты для шести напильников и шаманского бубна есть?

Есть, говорят. Вынь репу заново. Ну АХРЕНЕТь теперь!

Ну ладно, вынуть репу быстрее, чем чинить. Вынул. Пошел апдейтить ядро. Результат фееричен:

 gleb@raccoon:~/src/linux$ git pull
remote: Enumerating objects: 3773, done.
remote: Counting objects: 100% (2629/2629), done.
remote: Total 3773 (delta 2629), reused 2629 (delta 2629), pack-reused 1144 (from 1)
Receiving objects: 100% (3773/3773), 2.25 MiB | 347.00 KiB/s, done.
Resolving deltas: 100% (3048/3048), completed with 832 local objects.
fatal: bad object refs/tags/v6.18-rc1
error: github.com:torvalds/linux.git did not send all necessary objects

Линус сломал Гит на Гитхабе? :)

Не, нуачоэтобыло-то?

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

Ну может, конечно. Но торренты качаются, исходники емакса вынулись норм... Проверю.

В логах чисто, ошибок ввода-вывода нет.

gns ★★★★★
() автор топика
Последнее исправление: gns (всего исправлений: 1)

Типо второй ошибки у меня часто на разных репах, наверно просто сеть сбоит

Вот первая хз, может сон/гибернация, кеши какие-то не записались?

masa ★★
()

Так может и это - всё то же ТСПУ, со всё той же «замедлялкой ютуба», со всё теми же 16КБ и заморозить сессию без обрыва.

Судя по lb-140-82-121-3-fra.github.com, Frankfurt am Main.

Борьба с Хетценром - первое, что в голову бы пришло.

Toxo2 ★★★★★
()

git используется буквально везде: от заштатной компании, шлёпающей лендинги в Урюпинске, до мегакорпов с монорепозиториями в терабайты. Используется ежедневно вот уже лет 20.

Поэтому, если что-то не работает, то скорее всего, проблема либо в руках, либо в железе.

Chiffchaff
()
Ответ на: комментарий от Zhbert

Меня вебом только что пустили.

Да и гитом норм качается, быстрее чем с гитхаба. Я у себя дома 6 мегов в секунду редко вижу на 100мбитном канале и вайфае до ноута.

gns ★★★★★
() автор топика
Последнее исправление: gns (всего исправлений: 1)
Ответ на: комментарий от Zhbert

Странно, постоянно его дергаю, ни разу с 503 не сталкивался.

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

И действительно гитхаб не нужен. С kernel.org все норм.

leb@raccoon:~/src$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Cloning into 'linux'...
remote: Enumerating objects: 11152741, done.
remote: Counting objects: 100% (137/137), done.
remote: Compressing objects: 100% (90/90), done.
remote: Total 11152741 (delta 75), reused 68 (delta 47), pack-reused 11152604 (from 1)
Receiving objects: 100% (11152741/11152741), 3.09 GiB | 6.25 MiB/s, done.
Resolving deltas: 100% (9165605/9165605), done.
Updating files: 100% (91156/91156), done.
gleb@raccoon:~/src$ 

P.S. А глюк на гитхабе пока не починили :(

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

Я тоже в этом сомневаюсь :)

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

Как выше написали, скорее всего действительно РКН вставляет палки в колеса.

Если клонировать через ускоритель интернета - все работает

Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
remote: Enumerating objects: 11152741, done.
remote: Total 11152741 (delta 0), reused 0 (delta 0), pack-reused 11152741 (from 1)
Receiving objects: 100% (11152741/11152741), 5.44 GiB | 6.10 MiB/s, done.
Resolving deltas: 100% (9080934/9080934), done.
Updating files: 100% (91156/91156), done.

Но я уже устал бодаться с этим и у меня давно развернут свой cgit с зеркалами нужных мне репозиториев, ядро синкается с git.kernel.org, никогда проблем не было.

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

А гит на gnu.org совсем тухлый... Килобайты в секунду. прям как модемом в прошлом веке... :(

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

Хрен его знает. Первый раз замечаю. Может и действительно РКН...

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

Это не отменяет кривости git. Он должен выдавать ошибку, которая чётко показывает на то, что проблема на сетевом уровне. То, что у топикстартера написано - понять никак нельзя.

Что значит «object file is empty»? Где он пустой, на сервере гитхаба? Что значит «github did not send all necessary objects»? По этой ошибке можно лишь предположить, что гитхаб глючит.

Вся передача завёрнута в криптографический туннель, значит все ошибки передачи должны определяться на транспортном уровне и показываться в виде «connection reset unexpectedly», «connection was tampered with», «connection timed out» и подобных ошибок, которые бы пользователь уже прекрасно понял и знал, что он пал жертвой интернет-цензуры.

А судя по тому, что происходит, можно предположить, что git вообще не проверяет сетевые ошибки.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от vbr

Отчасти я согласен, что ошибка не информативна, но и способ, которым у нас режут доступ к некоторым хостам тоже не особо вписывается в стандартную парадигму сетевого соединения (ИМХО).

Т.е. как бы вот 200, вот соединение, но мы по дороге насуём вам граблей.

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

Не согласен. Все способы цензуры вполне укладываются в стандартную парадигму сетевого соединения. Я по крайней мере не вполне понимаю, о чём речь.

Самое неприятное, что может происходить - скорость соединения очень сильно замедляется, т.е. данные идут, но со скоростью, например, один байт в секунду. Для программы это может выглядеть нормальной ситуацией, таймаутов нет, но по факту задача будет выполняться до морковкина заговенья, что пользователя едва ли устроит. Тут программа должна, конечно, реализовать, помимо стандартных проверок на таймауты, ещё и проверку на минимально допустимую скорость соединения, и это то, что из коробки не делается.

А все остальные ошибки это обычные сетевые проблемы. Порт фаерволом закрыли, кабель теряет пакеты, роутер портит пакеты, это всё случается и это всё должно обрабатываться без всяких цензоров.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от Chiffchaff

до мегакорпов с монорепозиториями в терабайты

Ээээ нет. Тут git не используется. По крайней мере, ванильный git.

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

Да все хорошо с файловой системой, git fsck показывает нулевые хэши в базе. Это что-то именно слокальной копией репы.

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

Ну вот на грех раз в год и палка стреляет. Сам такое за много лет пользования гитом первый раз вижу. Кстати, на гитхабе репу починили.

gns ★★★★★
() автор топика
Последнее исправление: gns (всего исправлений: 1)

Не первый раз вижу жалобы на это поделие.

Лично я первый звоночек увидел когда это поделие перешло на 2FA. Не то, что бы 2FA это что-то плохое, просто оно уже стало словом-маркером.

windows10 ★★★★★
()

Чо-чо, РКН был. У меня аж госуслуги клали на прошлой неделе, прилетало 16 килобайт и всё

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

А я понимаю. У меня такое было уже когда РКН на моём провайдере тесты делал. Уже 2 раза явно наблюдал за год по неделе где-то. Там ещё много чего отваливалось. Одновременно ничего кроме РКН такого эффекта дать не может.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

Так у меня сервер с зеркалом стоит физически дома)

Я к нему доступ внутри локальной сети напрямую имею (но и в мир он тоже торчит), а он сам умеет ходить в сеть через ускоритель интернета.

Как пример, синхронизируется по крону раз в день: https://git.vsulimov.com/linux.git/

Jefail ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.