El nou hash predeterminat de Git – Què significa
El SHA-256 predeterminat proposat per Git crea una barrera de compatibilitat per als nous repositoris.
El SHA-256 predeterminat proposat per Git crea una barrera de compatibilitat per als nous repositoris. Revisem el pla oficial, l'objecció de Scott Chacon i una excepció de previsualització de GitHub, després cobrim Pi 1.0 i SvelteKit 3. Veredicte: NEEDS REVIEW.
Llegeix l'edició escrita (anglès) ↗
Què cobreix aquest vídeo
- Per què dos repositoris Git es poden negar a comunicar-se?
- Què canvia realment Git 3?
- Per què reemplaçar SHA-1 si Git detecta col·lisions?
- Què va mostrar la nostra comprovació de compatibilitat local?
- Què sobreviu a un error a Pi Durable?
Transcripció traduïda
Traduït de la narració original en anglès. L'àudio i els subtítols disponibles estan controlats per YouTube.
Per què dos repositoris Git es poden negar a comunicar-se?
0:00 Pensaries que actualitzar Git manté les teves eines comunicant-se. El nou hash predeterminat planificat de Git crea repositoris que l'antic format actual no pot comunicar-se. En aquest vídeo, per què canviar? Què es trenca? Qui està preparat? Ja hi ha una excepció de funcionament a GitHub. Us mostraré què demostra al final. És divendres, dos d'octubre, i això és The Daily Diff.
0:18 Dijous, un cofundador de GitHub va anomenar el canvi planificat de Git un error costós. Pi va enviar un nou arnès d'agent, i SvelteKit va enviar una altra migració. Scott Chacon va ajudar a construir GitHub i va escriure Pro Git, així que aquesta queixa ve de dins de casa. La casa també ven eines de Git. Primer, el pla real.
Què canvia realment Git 3?
0:35 Git tres establiria nous repositoris per defecte a SHA dos-cents cinquanta-sis, una vegada que les biblioteques i els serveis d'allotjament estiguin preparats per donar-li suport. El document oficial no dóna data de llançament i manté SHA un suportat. El vostre repositori existent no canvia de format màgicament quan actualitzeu l'executable. Val la pena recordar-ho abans que el vostre xat de grup programi una migració d'emergència. El drama és un proposta per defecte, i la data límit és actualment un calendari en blanc. La data límit és actualment un calendari en blanc.
Per què reemplaçar SHA-1 si Git detecta col·lisions?
0:58 Per què canviar? Git anomena objectes fent hash del seu contingut. Els fitxers s'introdueixen en arbres, i les confirmacions es refereixen a arbres i confirmacions anteriors. Això us dóna integritat a través de la història. Canvieu l'esquema de hash i els noms dels objectes també canvien, incloent les referències emmagatzemades dins d'altres objectes. Chacon es remunta a Linus Torvalds, el creador de Git, argumentant que la distribució de confiança és important. Aquesta és una posició històrica, i Linus va escollir SHA un en dos mil cinc.
1:17 distribució importa. Aquesta és una posició històrica, i Linus va escollir SHA un en dos mil cinc. en dos mil cinc. El cas de seguretat s'ha mogut des de llavors. Investigadors van demostrar col·lisions de SHA un en dos mil disset, i posteriorment van demostrar un atac de prefix escollit contra certificats d'identitat PGP. Git modern detecta atacs de col·lisió coneguts amb SHA un endurit. Els seus mantenidors volen protecció contra futurs atacs també, que és una cosa raonable de voler de les signatures.
1:41 Chacon creu que el projecte de llei de l'ecosistema compra massa poca seguretat. Proposa signar un checksum fort separat del contingut de l'arbre, mentre es manté l'adreçament d'objectes actual a sota. Què es trenca? Vaig crear els dos formats localment i vaig fer hash del mateix petit fitxer.
Què va mostrar la nostra comprovació de compatibilitat local?
1:54 Un nom d'objecte té quaranta caràcters hex, l'altre en té seixanta-quatre. Després vaig intentar recuperar-los entre ells. El meu Git instal·lat el va rebutjar amb algoritmes no coincidents, exactament la bretxa de compatibilitat descrita al manual oficial actual. Això va utilitzar el meu antic Git instal·lat, així que ens informa sobre el límit actual. Anomenar-ho una prova del Git tres no publicat seria comptabilitat creativa. El treball de migració arriba a scripts que assumeixen la longitud d'un hash, i sistemes que s'enllacen a noms d'objectes.
2:19 Rehashing una història necessita un mapeig entre aquestes identitats. El disseny de transició de Git inclou aquest mapeig i la gestió de signatures. La preparació de la implementació importa, perquè un document de disseny no actualitza la biblioteca que s'amaga dins de la vostra eina de desenvolupament preferida. Això és el cost humà en l'argument de Chacon. Cada mantenidor d'eines obté una altra feina de compatibilitat, mentre que els usuaris descobreixen que el seu control de versions ara necessita control de versions. Per ara, proveu el vostre host i les vostres eines abans de triar el nou format per a un projecte.
2:44 Els equips existents poden mantenir el seu format actual mentre l'ecosistema es posa al dia. Mentrestant, Pi va arribar a la versió un punt zero.
Què sobreviu a un error a Pi Durable?
2:51 És un arnès d'agent de codificació d'Earendil, amb suport natiu de MCP a través de Codemode i eines carregades quan són necessàries. Codemode i eines carregades quan són necessàries. L'equip anomena el minimalisme el punt. Si la configuració del vostre agent ja s'assembla a un petit govern, mantenir les eines fora de la sol·licitud fins que siguin necessàries sona com una reforma administrativa. També va llançar Pi Durable, un marc experimental separat. Les tasques guarden punts de control perquè un procés reiniciat pugui reprendre el treball inacabat de l'emmagatzematge persistent. El detall crucial és la reproducció d'eines.
3:16 Una eina interrompuda per un error només es torna a executar quan declara que és segura. Altrament, es diu al model que va ser interromput. Això és un límit útil quan una eina pot gastar diners. Vull que l'assistent recordi la meva llista de la compra sense celebrar un error comprant-la dues vegades. llista de la compra sense celebrar un error per comprar-ho dues vegades.
Què migra SvelteKit 3 per tu?
3:30 SvelteKit tres també va aterrar dijous, movent la configuració a Vite i reemplaçant el símbol del dòlar lib per hash lib, utilitzant importacions de subruta de paquets estàndard. reemplaçant dòlar lib amb hash lib, utilitzant importacions de subruta de paquets estàndard. La comanda de migració reescriu el que pot i deixa una llista de tasques per a la resta. El vostre robot pot ajudar, i el vostre diff encara mereix ser llegit. L'anunci fins i tot recluta els vostres amics robots per a les sobres. Estem arribant al punt en què una actualització de framework envia deures i un mestre substitut suggerit. mestre substitut suggerit. I les funcions remotes encara necessiten Async Svelte experimental.
3:56 Un número de versió principal sembla tranquil·litzador, però les característiques individuals porten les seves pròpies etiquetes de maduresa. Etiquetes de maduresa. Comproveu les que esteu utilitzant.
Què demostra l'excepció de treball de GitHub?
4:03 Així que, qui està preparat per al nou format de Git? Aquí teniu aquesta excepció. Un repositori públic de GitHub que conté la xerrada de Brian Carlson ja retorna un nom d'objecte SHA dos-cents cinquanta-sis complet. nom d'objecte SHA dos-cents cinquanta-sis complet. Vaig comprovar el control remot públic directament. Les diapositives de la xerrada anomenen el suport una previsualització privada i diuen que la creació del repositori encara està per arribar. Encara hi ha progressos reals darrere de la sala d'espera. Això demostra que GitHub pot servir aquest repositori de previsualització.
4:24 No ens dóna cap garantia que la creació de projectes ordinària o totes les vostres integracions estiguin preparades. integracions estan preparades. L'excepció té un límit de permís. Si preferiu llegir això que escoltar-me dir-ho, el diff arriba a la vostra safata d'entrada cada matí, de franc a the daily diff dot dev, enllaç a continuació. cada matí, de franc a the daily diff dot dev, enllaç a continuació. Així que el veredicte d'avui és NEEDS REVIEW.
Per què el meu veredicte depèn de tota la cadena d'eines?
4:40 Mantindria l'opció de hash més fort i provaria tota la cadena d'eines abans de canviar els valors predeterminats. La compatibilitat és part de l'enviament de la millora de seguretat. I aquesta és la diferència per avui. Sóc Niko d'Axrisi. Fusioneu amb responsabilitat.
Fonts
- 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



