Новият хеш по подразбиране на Git – какво означава той
Предложеният SHA-256 по подразбиране на Git създава граница на съвместимост за нови хранилища.
Предложеният SHA-256 по подразбиране на Git създава граница на съвместимост за нови хранилища. Проверяваме официалния план, възражението на Скот Чейсън и работещо изключение за предварителен преглед в GitHub, след което обхващаме Pi 1.0 и SvelteKit 3. Присъда: НЕОБХОДИМ Е ПРЕГЛЕД.
Прочетете писменото издание (английски) ↗
Какво обхваща този видеоклип
- Защо две Git хранилища могат да откажат да комуникират?
- Какво всъщност променя Git 3?
- Защо да заменим SHA-1, ако Git открива колизии?
- Какво показа нашата локална проверка на съвместимостта?
- Какво оцелява при срив в Pi Durable?
Преведен препис
Преведено от оригиналния английски разказ. Наличните аудио и субтитри се контролират от YouTube.
Защо две Git хранилища могат да откажат да комуникират?
0:00 Би си помислил, че надграждането на Git поддържа комуникацията на инструментите ти. Планираният нов хеш по подразбиране на Git създава хранилища, с които днешният стар формат не може да комуникира. В това видео, защо да се променя? Какво се счупва? Кой е готов? Вече има работещо изключение в GitHub. Ще ви покажа какво доказва то накрая. Петък е, втори октомври, и това е The Daily Diff.
0:18 В четвъртък, съосновател на GitHub нарече планираната промяна на Git скъпоструваща грешка. Pi пусна нова агентска платформа, а SvelteKit пусна още една миграция. Скот Чейсън е помогнал за изграждането на GitHub и е написал Pro Git, така че тази жалба идва от вътре в къщата. Къщата също така продава Git инструменти. Първо, действителният план.
Какво всъщност променя Git 3?
0:35 Git три би задал по подразбиране новите хранилища на SHA двеста петдесет и шест, след като библиотеки и хостинг услуги са готови да го поддържат. Официалният документ не дава дата на издаване и запазва поддръжката на SHA едно. Съществуващото ви хранилище не променя магически формата си, когато надграждате изпълнимия файл. Това си струва да се запомни, преди вашият групов чат да насрочи спешна миграция. Драмата е предложено подразбиране, и крайният срок в момента е празен календар.
Защо да заменим SHA-1, ако Git открива колизии?
0:58 Защо изобщо да се променя? Git именува обекти, като хешира тяхното съдържание. Файловете се подават в дървета, а коммитите се отнасят към дървета и по-ранни коммити. Това ви дава интегритет през цялата история. Променете схемата за хеширане и имената на обектите също се променят, включително препратките, съхранявани в други обекти. Чейсън се връща към Линус Торвалдс, създателя на Git, аргументирайки, че довереното
1:17 разпространение е важно. Това е историческа позиция, а Линус е избрал SHA едно още през две хиляди и пета година. Случаят със сигурността се е променил оттогава. Изследователи демонстрираха колизии на SHA едно през две хиляди и седемнадесета година, и по-късно демонстрираха атака с избран префикс срещу PGP идентификационни сертификати. Модерният Git открива известни атаки с колизии с подсилен SHA едно. Неговите поддържащи лица искат защита и срещу бъдещи атаки, което е разумно да се иска от подписи.
1:41 Чейсън смята, че сметката за екосистемата купува твърде малко сигурност. Той предлага подписване на отделна силна контролна сума на съдържанието на дървото, докато се запазва днешното адресиране на обекти отдолу. Какво се счупва? Създадох и двата формата локално и хеширах същия малък файл.
Какво показа нашата локална проверка на съвместимостта?
1:54 Едно име на обект има четиридесет шестнадесетични знака, другото има шестдесет и четири. След това опитах да извличам между тях. Инсталираният ми Git го отхвърли с несъответстващи алгоритми, точно разликата в съвместимостта, описана в текущото официално ръководство. Това използва моя стар инсталиран Git, така че ни казва за днешната граница. Да го наречем тест на неиздадения Git три би било творческо счетоводство. Работата по миграцията достига до скриптове, които приемат дължина на хеша, и системи, които се свързват с имена на обекти.
2:19 Прехеширането на история изисква съпоставяне между тези идентичности. Дизайнът на прехода на Git включва това съпоставяне и обработка на подписи. Готовността за изпълнение е важна, защото документът за дизайн не надгражда библиотеката, скрита във вашия любим инструмент за разработчици. Това е човешката цена в аргумента на Чейсън. Всеки поддържащ инструмент получава още една задача за съвместимост, докато потребителите откриват, че техният контрол на версиите вече се нуждае от контрол на версиите. Засега, тествайте вашия хост и инструменти, преди да изберете новия формат за
2:44 проект. Съществуващите екипи могат да запазят текущия си формат, докато тази екосистема навакса. Междувременно, Pi достигна едно цяло и нула.
Какво оцелява при срив в Pi Durable?
2:51 Това е платформа за кодиращ агент от Earendil, с естествена MCP поддръжка чрез Инструментите се зареждат, когато са необходими. Екипът нарича минимализма основен смисъл. Ако настройката на вашия агент вече прилича на малко правителство, запазването на инструментите извън подканата, докато не са необходими, звучи като административна реформа. Той също така пусна Pi Durable, отделна експериментална рамка. Задачите запазват контролни точки, така че рестартиран процес може да продължи недовършена работа от постоянно хранилище. Ключовата подробност е възпроизвеждането на инструменти.
3:16 Инструмент, прекъснат от срив, се изпълнява повторно само когато обяви това за безопасно. В противен случай на модела се казва, че е бил прекъснат. Това е полезна граница, когато инструмент може да харчи пари. Искам асистентът да помни моя списък за пазаруване, без да празнува срив, като го купува два пъти.
Какво SvelteKit 3 мигрира за вас?
3:30 SvelteKit три също пристигна в четвъртък, премествайки конфигурацията във Vite и заменяйки долар lib с хеш lib, използвайки стандартни импорти за подпътеки на пакети. Командата за миграция презаписва каквото може и оставя списък със задачи за останалото. Вашият робот може да помогне, а вашият diff все още заслужава да бъде прочетен. Съобщението дори набира вашите роботизирани приятели за остатъците. Достигаме точката, в която надграждането на рамката изпраща домашна работа и предложен заместващ учител. И отдалечените функции все още се нуждаят от експериментален Async Svelte.
3:56 Основният номер на версията звучи успокояващо, но отделните функции носят свои собствени етикети за зрялост. Проверете тези, които всъщност използвате.
Какво доказва работещото изключение на GitHub?
4:03 И така, кой е готов за новия формат на Git? Ето това изключение. Публично хранилище на GitHub, съдържащо разговора на Брайън Карлсън, вече връща пълно SHA двеста петдесет и шест име на обект. Проверих публичния отдалечен сървър директно. Слайдовете на доклада наричат поддръжката частен преглед и казват, че създаването на хранилище все още предстои. Има реален напредък зад чакалнята. Това доказва, че GitHub може да обслужва това хранилище за предварителен преглед.
4:24 Това ни дава нулева гаранция, че обикновеното създаване на проекти или всички ваши интеграции са готови. Изключението има граница на разрешение. Ако предпочитате да прочетете това, отколкото да ме чуете да го казвам, diff-ът пристига във вашата пощенска кутия всяка сутрин, безплатно на the daily diff dot dev, линк по-долу. Така че днешната присъда е необходим преглед.
Защо моята присъда зависи от цялата верига от инструменти?
4:40 Бих запазил по-силната опция за хеширане и бих тествал цялата верига от инструменти, преди да променя подразбираните настройки. Съвместимостта е част от внедряването на подобрението на сигурността. И това е diff-ът за днес. Аз съм Нико от Axrisi. Обединявайте отговорно.
Източници
- Chaconblog.gitbutler.com
- Git's official plangit-scm.com
- Current interoperabilitygit-scm.com
- Transition designgit-scm.com
- Independent collision researchsha-mbles.github.io
- GitHub preview repositorygithub.com
- Pi 1.0earendil.com
- Pi Durableearendil.com
- SvelteKit 3svelte.dev
- HN discussionnews.ycombinator.com



