Git'ning yangi xesh standarti – bu nimani anglatadi
Git'ning taklif qilingan SHA-256 standarti yangi repozitoriylar uchun moslik chegarasini yaratadi.
Git'ning taklif qilingan SHA-256 standarti yangi repozitoriylar uchun moslik chegarasini yaratadi. Biz rasmiy rejani, Scott Chaconning e'tirozini va ishlaydigan GitHub oldindan ko'rish istisnosini tekshiramiz, so'ngra Pi 1.0 va SvelteKit 3 ni ko'rib chiqamiz. Hukm: NEEDS REVIEW.
Yozma nashrini oʻqing (inglizcha) ↗
Bu video nimani qamrab oladi
- Nima uchun ikkita Git repozitoriyi bir-biri bilan aloqa qilishdan bosh tortishi mumkin?
- Git 3 aslida nimani o'zgartiradi?
- Agar Git to'qnashuvlarni aniqlasa, nima uchun SHA-1 ni almashtirish kerak?
- Mahalliy moslik tekshiruvimiz nimani ko'rsatdi?
- Pi Durable da nima avariyadan keyin ham saqlanib qoladi?
Tarjima qilingan transkript
Asl inglizcha hikoyadan tarjima qilingan. Mavjud audio va subtitrlar YouTube tomonidan boshqariladi.
Nima uchun ikkita Git repozitoriyi bir-biri bilan aloqa qilishdan bosh tortishi mumkin?
0:00 Gitni yangilash vositalaringizning aloqasini saqlaydi deb o'ylaysiz. Git'ning rejalashtirilgan yangi xesh standarti bugungi eski formatga ega repozitoriylarni yaratadi ular aloqa qila olmaydi. Bu videoda, nima uchun o'zgartirish kerak? Nima buziladi? Kim tayyor? GitHubda allaqachon ishlaydigan istisno mavjud. Men sizga oxirida u nimani isbotlashini ko'rsataman. Juma, ikki oktyabr, va bu The Daily Diff.
0:18 Payshanba kuni GitHub hammuassisi Git'ning rejalashtirilgan o'zgarishini qimmat xato deb atadi. Pi yangi agent vositasini, va SvelteKit yana bir migratsiyani chiqardi. Scott Chacon GitHubni qurishga yordam bergan va Pro Gitni yozgan, shuning uchun bu shikoyat ichkaridan keladi. Uy shuningdek Git vositalarini sotadi. Birinchidan, haqiqiy reja.
Git 3 aslida nimani o'zgartiradi?
0:35 Git uchta yangi repozitoriylarni SHA ikki yuz ellik oltiga standartlashtiradi, kutubxonalar va hosting xizmatlari uni qo'llab-quvvatlashga tayyor bo'lgandan keyin. Rasmiy hujjat chiqarilish sanasini bermaydi va SHA birni qo'llab-quvvatlashni davom ettiradi. Mavjud repozitoriyangiz ijro etiladigan faylni yangilaganingizda avtomatik ravishda formatni o'zgartirmaydi. Bu guruh suhbatingiz favqulodda migratsiyani rejalashtirishdan oldin eslab qolishga arziydi. Drama taklif qilingan standartdir, va muddat hozirda bo'sh kalendar. Nima uchun umuman o'zgartirish kerak?
Agar Git to'qnashuvlarni aniqlasa, nima uchun SHA-1 ni almashtirish kerak?
0:58 Git ob'ektlarning nomini ularning mazmunini xeshlash orqali beradi. Fayllar daraxtlarga kiradi, va komitlar daraxtlarga va oldingi komitlarga ishora qiladi. Bu sizga tarix bo'ylab yaxlitlikni beradi. Xeshlash sxemasini o'zgartirsangiz, ob'ekt nomlari ham o'zgaradi, shu jumladan boshqa ob'ektlar ichida saqlangan havolalar. Chacon Git yaratuvchisi Linus Torvaldsga murojaat qiladi, ishonchli taqsimot muhimligini ta'kidlaydi. Bu tarixiy pozitsiya, va Linus 2005 yilda SHA birni tanlagan.
1:17 Xavfsizlik masalasi o'shandan beri o'zgargan. Tadqiqotchilar 2017 yilda SHA bir to'qnashuvlarini namoyish etishdi, va keyin PGP identifikatsiya sertifikatlariga qarshi tanlangan prefiks hujumini namoyish etishdi. Zamonaviy Git qattiqlashtirilgan SHA bir bilan ma'lum to'qnashuv hujumlarini aniqlaydi. Uning egalari kelajakdagi hujumlardan ham himoya qilishni istaydilar, bu imzolardan kutish mumkin bo'lgan o'rinli narsa. Chacon ekotizim to'lovi juda kam xavfsizlikni sotib oladi deb o'ylaydi. U daraxt mazmunining alohida kuchli nazorat summasini imzolashni taklif qiladi,
1:41 bugungi ob'ekt manzillashini saqlab qolgan holda. Nima buziladi? Men mahalliy ravishda ikkala formatni yaratdim va bir xil kichik faylni xeshladi. Bitta ob'ekt nomida qirqta o'n oltilik belgi bor, ikkinchisida oltmish to'rtta. Keyin men ular orasida ma'lumot olishga harakat qildim.
Mahalliy moslik tekshiruvimiz nimani ko'rsatdi?
1:54 Mening o'rnatilgan Gitim algoritmlar mos kelmaganligi sababli uni rad etdi, joriy rasmiy qo'llanmada tasvirlangan moslik farqi aynan shunday. Bu mening eski o'rnatilgan Gitimdan foydalangan, shuning uchun u bizga bugungi chegara haqida ma'lumot beradi. Uni chiqarilmagan Git uchni sinovi deb atash ijodiy buxgalteriya bo'lar edi. Migratsiya ishi xesh uzunligini taxmin qiladigan skriptlarga kiradi, va ob'ekt nomlariga bog'lanadigan tizimlarga. Tarixni qayta xeshlash bu identifikatsiyalar orasida xaritalashni talab qiladi. Git'ning o'tish dizayni bu xaritalashni va imzo ishlovini o'z ichiga oladi.
2:19 Amalga oshirishga tayyorlik muhim, chunki dizayn hujjati sevgan dasturchi vositangiz ichida yashiringan kutubxonani yangilamaydi. Bu Chaconning argumentidagi insoniy xarajat. Har bir vosita egasi yana bir moslik ishini oladi, foydalanuvchilar esa o'zlarining versiya nazorati endi versiya nazoratiga muhtojligini bilib olishadi. Hozircha, loyiha uchun yangi formatni tanlashdan oldin host va vositalaringizni sinab ko'ring. Mavjud jamoalar ekotizim moslashguncha o'zlarining joriy formatini saqlab qolishlari mumkin. Shu bilan birga, Pi bir nuqta nolga yetdi. Bu Earendil'dan kodlash agenti vositasi bo'lib, Codemode orqali mahalliy MCP qo'llab-quvvatlashi va
2:44 vositalar kerak bo'lganda yuklanadi. Jamoa minimalizmni asosiy nuqta deb ataydi.
Pi Durable da nima avariyadan keyin ham saqlanib qoladi?
2:51 Agar agent sozlamalaringiz allaqachon kichik hukumatga o'xshasa, vositalarni kerak bo'lguncha chaqiruvdan tashqarida saqlash ma'muriy islohotga o'xshaydi. U shuningdek Pi Durable, alohida eksperimental doirani chiqardi. Vazifalar nazorat nuqtalarini saqlaydi, shuning uchun qayta ishga tushirilgan jarayon yakunlanmagan ishni doimiy saqlashdan davom ettirishi mumkin. Asosiy tafsilot vositani qayta ijro etishdir. Avariya tufayli to'xtatilgan vosita faqatgina xavfsiz deb e'lon qilinganida qayta ishga tushadi. Aks holda modelga u to'xtatilganligi aytiladi. Bu vosita pul sarflashi mumkin bo'lganida foydali chegara.
3:16 Men yordamchining mening xaridlar ro'yxatimni eslab qolishini xohlayman, avariyani ikkinchi marta sotib olish orqali nishonlamasdan. SvelteKit uch ham payshanba kuni chiqdi, konfiguratsiyani Vitega ko'chirib va standart paket subpath importlaridan foydalangan holda dollar libni xesh lib bilan almashtirdi. Migratsiya buyrug'i imkon qadar qayta yozadi va qolganlari uchun qilinadigan ishlar ro'yxatini qoldiradi. Sizning robotlaringiz yordam berishi mumkin, va sizning farqingiz hali ham o'qishga arziydi.
SvelteKit 3 siz uchun nimani migratsiya qiladi?
3:30 E'lon hatto robot do'stlaringizni ham qoldiqlarni yig'ishga jalb qiladi. Biz shunday nuqtaga yetib keldikki, doirani yangilash uy vazifasini va taklif qilingan o'rinbosar o'qituvchini jo'natadi. Va uzoq funksiyalar hali ham eksperimental Async Sveltega muhtoj. Katta versiya raqami ishonch bag'ishlaydi, ammo individual xususiyatlar o'zlarining yetuklik belgilarini olib yuradi. Siz aslida foydalanayotganlarini tekshiring. Xo'sh, kim Git'ning yangi formatiga tayyor? Mana shu istisno.
3:56 Brian Carlsonning nutqini o'z ichiga olgan ommaviy GitHub repozitoriyi allaqachon to'liq SHA ikki yuz ellik olti ob'ekt nomini qaytaradi.
GitHub'ning ishlaydigan istisnosi nimani isbotlaydi?
4:03 Men ommaviy masofaviy repozitoriyni to'g'ridan-to'g'ri tekshirdim. Nutq slaydlari qo'llab-quvvatlashni shaxsiy oldindan ko'rish deb ataydi va repozitoriy yaratish hali ham kelmoqda deydi. Kutish xonasi ortida haqiqiy rivojlanish bor. Bu GitHub ushbu oldindan ko'rish repozitoriysini taqdim eta olishini isbotlaydi. U bizga oddiy loyiha yaratish yoki barcha integratsiyangiz tayyor ekanligiga nol kafolat beradi. Istisno ruxsat chegarasiga ega. Agar siz buni mendan eshitishdan ko'ra o'qishni afzal ko'rsangiz, diff har kuni ertalab qutingizga tushadi, bepul daily diff dot dev saytida, havola pastda.
4:24 Shunday qilib, bugungi hukm needs review. Men kuchliroq xesh variantini saqlab qolaman va standartlarni o'zgartirishdan oldin butun vositalar zanjirini sinovdan o'tkazaman. Moslik xavfsizlikni yaxshilashni yetkazib berishning bir qismi. Va bu bugungi farq. Men Axrisi'dan Nikoman. Mas'uliyat bilan birlashtiring.
Nima uchun mening hukmim butun vositalar zanjiriga bog'liq?
4:40 Birlik 0: Birlik 1: Birlik 2: Birlik 3: Birlik 4:
Manbalar
- 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



