Gitova nova zadana vrijednost raspršivanja – što to znači
Gitov predloženi SHA-256 zadani format stvara granicu kompatibilnosti za nova spremišta.
Gitov predloženi SHA-256 zadani format stvara granicu kompatibilnosti za nova spremišta. Provjeravamo službeni plan, prigovor Scotta Chaconova i iznimku pretpregleda GitHub-a koja radi, zatim pokrivamo Pi 1.0 i SvelteKit 3. Presuda: NEEDS REVIEW.
Pročitajte pisano izdanje (engleski) ↗
Što ovaj video pokriva
- Zašto se dva Git spremišta mogu odbiti sporazumijevati?
- Što Git 3 zapravo mijenja?
- Zašto zamijeniti SHA-1 ako Git otkriva kolizije?
- Što je pokazala naša lokalna provjera kompatibilnosti?
- Što preživljava pad sustava u Pi Durable?
Prevedeni transkript
Prevedeno iz izvornog engleskog pripovijedanja. Dostupni zvuk i titlovi kontroliraju se putem YouTubea.
Zašto se dva Git spremišta mogu odbiti sporazumijevati?
0:00 Mislili biste da nadogradnja Gitu održava komunikaciju vaših alata. Gitov planirani novi zadani hash stvara spremišta koja su u današnjem starom formatu ne mogu komunicirati. U ovom videu, zašto mijenjati? Što se kvari? Tko je spreman? Na GitHubu već postoji iznimka koja radi. Pokazat ću vam što to dokazuje na kraju. Petak je, drugi listopada, a ovo je The Daily Diff.
0:18 U četvrtak je suosnivač GitHub-a nazvao planiranu promjenu Git-a skupom pogreškom. Pi je isporučio novi agent harness, a SvelteKit je isporučio još jednu migraciju. Scott Chacon je pomogao izgraditi GitHub i napisao je Pro Git, tako da ova pritužba dolazi iz kuće. Kuća također prodaje Git alate. Prvo, stvarni plan.
Što Git 3 zapravo mijenja?
0:35 Git tri bi po zadanoj vrijednosti nova spremišta postavio na SHA dvjesto pedeset šest, kada knjižnice i hosting usluge budu spremne to podržati. Službeni dokument ne navodi datum objave i zadržava podršku za SHA jedan. Vaše postojeće spremište se ne mijenja magično kada nadogradite izvršnu datoteku. To je vrijedno zapamtiti prije nego što vaš grupni chat zakaže hitnu migraciju. Drama je predloženi zadani format, a rok je trenutno prazan kalendar.
Zašto zamijeniti SHA-1 ako Git otkriva kolizije?
0:58 Zašto se uopće mijenjati? Git imenuje objekte hashiranjem njihovog sadržaja. Datoteke se unose u stabla, a commitovi se odnose na stabla i ranije commitove. To vam daje integritet kroz povijest. Promijenite shemu hashiranja i imena objekata se također mijenjaju, uključujući reference pohranjene unutar drugih objekata. Chacon se vraća na Linusa Torvaldsa, tvorca Gitu, tvrdeći da je pouzdana
1:17 distribucija važna. To je povijesna pozicija, a Linus je odabrao SHA jedan još 2005. godine. Sigurnosni slučaj se od tada promijenio. Istraživači su demonstrirali SHA one kolizije 2017. godine, a kasnije su demonstrirali napad s odabranim prefiksom protiv PGP certifikata identiteta. Moderni Git otkriva poznate napade kolizije s ojačanom SHA jedan. Njegovi održavatelji žele zaštitu i od budućih napada, što je razumno željeti od potpisa.
1:41 Chacon misli da račun ekosustava kupuje premalo sigurnosti. Predlaže potpisivanje zasebnog snažnog kontrolnog zbroja sadržaja stabla, dok zadržava današnje adresiranje objekata ispod. Što se kvari? Kreirao sam oba formata lokalno i heširao istu malu datoteku.
Što je pokazala naša lokalna provjera kompatibilnosti?
1:54 Jedno ime objekta ima četrdeset heksadecimalnih znakova, drugo šezdeset četiri. Zatim sam pokušao dohvaćati između njih. Moj instalirani Git ga je odbio zbog neusklađenih algoritama, točno onog jaza u kompatibilnosti opisanog u trenutnom službenom priručniku. Ovo je koristilo moj stari instalirani Git, tako da nam govori o današnjoj granici. Nazvati to testom neobjavljenog Git trija bilo bi kreativno računovodstvo. Migracijski rad doseže do skripti koje pretpostavljaju duljinu hasha, i sustave koji se povezuju s imenima objekata.
2:19 Ponovno heširanje povijesti zahtijeva mapiranje između tih identiteta. Gitov dizajn prijelaza uključuje to mapiranje i rukovanje potpisima. Spremnost implementacije je važna, jer dokument o dizajnu ne nadograđuje biblioteku skrivenu unutar vašeg omiljenog razvojnog alata. To je ljudska cijena u Chaconovom argumentu. Svaki održavatelj alata dobiva još jedan posao kompatibilnosti, dok korisnici otkrivaju da njihova kontrola verzija sada treba kontrolu verzija. Za sada testirajte svoj host i alate prije odabira novog formata za
2:44 projekt. Postojeći timovi mogu zadržati svoj trenutni format dok se taj ekosustav ne uhvati. U međuvremenu, Pi je dosegao verziju jedan nula.
Što preživljava pad sustava u Pi Durable?
2:51 To je agent coding harness iz Earendila, s izvornom MCP podrškom putem Codemodea i alata učitanih kada su potrebni. Tim naziva minimalizam poantom. Ako vaše postavljanje agenta već podsjeća na malu vladu, držanje alata izvan prompta dok nisu potrebni zvuči kao administrativna reforma. Također je objavljen Pi Durable, zaseban eksperimentalni okvir. Zadaci spremaju kontrolne točke tako da ponovno pokrenuti proces može nastaviti nedovršeni rad iz trajne pohrane. Ključni detalj je ponavljanje alata.
3:16 Alat prekinut padom ponovno se pokreće samo kada izjavi da je siguran. U suprotnom, modelu se govori da je prekinut. To je korisna granica kada alat može trošiti novac. Želim da pomoćnik zapamti moj popis za kupovinu bez proslave pada tako što će ga kupiti dva puta.
Što SvelteKit 3 migrira za vas?
3:30 SvelteKit tri je također sletio u četvrtak, premještajući konfiguraciju u Vite i zamjenjujući dolar lib s hash lib, koristeći standardne package subpath imports. Naredba za migraciju prepiše ono što može i ostavlja popis obveza za ostalo. Vaš robot može pomoći, a vaš diff i dalje zaslužuje čitanje. Objava čak regrutira vaše robotske prijatelje za ostatke. Dolazimo do točke gdje nadogradnja okvira isporučuje domaću zadaću i predloženog zamjenskog učitelja. A udaljene funkcije još uvijek trebaju eksperimentalni Async Svelte.
3:56 Glavni broj verzije djeluje umirujuće, ali pojedinačne značajke nose vlastite oznake zrelosti. Provjerite one koje zapravo koristite.
Što dokazuje GitHubova radna iznimka?
4:03 Dakle, tko je spreman za Gitov novi format? Evo te iznimke. Javno GitHub spremište koje sadrži predavanje Briana Carlsona već vraća puni SHA dvjesto pedeset šest naziv objekta. Izravno sam provjerio javni daljinski poslužitelj. Slajdovi predavanja nazivaju podršku privatnim pregledom i kažu da je stvaranje spremišta još u tijeku. Postoji stvarni napredak iza čekaonice. To dokazuje da GitHub može poslužiti ovo pretpregledno spremište.
4:24 To nam daje nultu garanciju da su obično stvaranje projekta ili sve vaše integracije spremne. Iznimka ima granicu dopuštenja. Ako biste radije ovo pročitali nego čuli od mene, diff stiže u vašu pristiglu poštu svako jutro, besplatno na the daily diff dot dev, poveznica ispod. Dakle, današnja presuda je NEEDS REVIEW.
Zašto moja presuda ovisi o cijelom lancu alata?
4:40 Zadržao bih jaču opciju raspršivanja i testirao cijeli lanac alata prije mijenjanja zadanih postavki. Kompatibilnost je dio isporuke sigurnosnog poboljšanja. I to je diff za danas. Ja sam Niko iz Axrisija. Spajajte odgovorno.
Izvori
- 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



