Defaulti i ri i hash-it të Git – Çfarë do të thotë
Defaulti i propozuar SHA-256 i Git krijon një kufi përputhshmërie për depozitat e reja.
Defaulti i propozuar SHA-256 i Git krijon një kufi përputhshmërie për depozitat e reja. Ne kontrollojmë planin zyrtar, kundërshtimin e Scott Chacon dhe një përjashtim funksional të parashikimit të GitHub, pastaj mbulojmë Pi 1.0 dhe SvelteKit 3. Vendimi: NEEDS REVIEW.
Lexoni edicionin e shkruar (anglisht) ↗
Çfarë mbulon kjo video
- Pse dy depozita Git mund të refuzojnë të "flasin" me njëra-tjetrën?
- Çfarë ndryshon realisht Git 3?
- Pse të zëvendësohet SHA-1 nëse Git zbulon përplasje?
- Çfarë tregoi kontrolli ynë lokal i përputhshmërisë?
- Çfarë mbijeton një rrëzimi në Pi Durable?
Transkript i përkthyer
Përkthyer nga tregimi origjinal në anglisht. Audio dhe titrat e disponueshme kontrollohen nga YouTube.
Pse dy depozita Git mund të refuzojnë të "flasin" me njëra-tjetrën?
0:00 Do të mendonit se përmirësimi i Git i mban mjetet tuaja të komunikojnë. Defaulti i ri i planifikuar i hash-it të Git krijon depozita që formati i vjetër i sotëm nuk mund të komunikojë me të. Në këtë video, pse të ndryshoni? Çfarë prishet? Kush është gati? Ekziston tashmë një përjashtim funksional në GitHub. Do t'ju tregoj çfarë provon në fund. Është e premte, dy tetori, dhe kjo është The Daily Diff.
0:18 Të enjten, një bashkëthemelues i GitHub e quajti ndryshimin e planifikuar të Git një gabim të kushtueshëm. Pi dërgoi një agjent të ri, dhe SvelteKit dërgoi një tjetër migrim. Scott Chacon ndihmoi në ndërtimin e GitHub dhe shkroi Pro Git, kështu që kjo ankesë vjen nga brenda shtëpisë. Shtëpia shet gjithashtu mjete Git. Së pari, plani aktual.
Çfarë ndryshon realisht Git 3?
0:35 Git tre do t'i kishte depozitat e reja me default SHA dyqind e pesëdhjetë e gjashtë, pasi bibliotekat dhe shërbimet e hostimit të jenë gati ta mbështesin atë. Dokumenti zyrtar nuk jep datë lëshimi dhe mban SHA një të mbështetur. Depozita juaj ekzistuese nuk ndryshon magjikisht formatin kur përmirësoni ekzekutuesin. Kjo vlen të mbahet mend para se çati i grupit tuaj të planifikojë një migrim urgjent. Drama është një default i propozuar, dhe afati aktualisht është një kalendar bosh.
Pse të zëvendësohet SHA-1 nëse Git zbulon përplasje?
0:58 Pse të ndryshosh fare? Git emërton objektet duke hash-uar përmbajtjen e tyre. Fajllat futen në drunj, dhe komitet i referohen drunjve dhe komitetve të mëparshme. Kjo ju jep integritet në të gjithë historinë. Ndryshoni skemën e hash-imit dhe emrat e objekteve ndryshojnë gjithashtu, përfshirë referencat e ruajtura brenda objekteve të tjera. Chacon i referohet Linus Torvalds, krijuesit të Git, duke argumentuar se shpërndarja e besueshme
1:17 ka rëndësi. Kjo është një pozicion historik, dhe Linus zgjodhi SHA një në vitin dy mijë e pesë. Rasti i sigurisë ka ndryshuar që atëherë. Studiuesit demonstruan përplasje SHA një në vitin dy mijë e shtatëmbëdhjetë, dhe më vonë demonstruan një sulm me prefiks të zgjedhur kundër certifikatave të identitetit PGP. Git modern zbulon sulmet e njohura të përplasjeve me SHA një të fortë. Mirëmbajtësit e tij duan mbrojtje edhe kundër sulmeve të ardhshme, që është një gjë e arsyeshme për të kërkuar nga nënshkrimet.
1:41 Chacon mendon se fatura e ekosistemit blen shumë pak siguri. Ai propozon nënshkrimin e një shume kontrolli të fortë të veçantë të përmbajtjes së drurit, duke mbajtur adresimin e objekteve të sotme poshtë. Çfarë prishet? Krijova të dy formatet lokalisht dhe hash-ova të njëjtin skedar të vogël.
Çfarë tregoi kontrolli ynë lokal i përputhshmërisë?
1:54 Një emër objekti ka dyzet karaktere hekse, tjetri ka gjashtëdhjetë e katër. Pastaj u përpoqa të tërhiqja midis tyre. Git-i im i instaluar e refuzoi atë me algoritme të papërshtatshme, saktësisht boshllëku i përputhshmërisë i përshkruar në manualin zyrtar aktual. Kjo përdori Git-in tim të vjetër të instaluar, kështu që na tregon për kufirin e sotëm. Ta quash një test të Git tre të palëshuar do të ishte kontabilitet kreativ. Puna e migracionit arrin në skripta që supozojnë gjatësinë e një hash-i, dhe sisteme që lidhen me emrat e objekteve.
2:19 Rihash-imi i një historie kërkon një hartë midis këtyre identiteteve. Dizajni i tranzicionit të Git përfshin atë hartë dhe trajtimin e nënshkrimit. Gatishmëria e implementimit ka rëndësi, sepse një dokument dizajni nuk përmirëson bibliotekën që fshihet brenda mjetit tuaj të preferuar të zhvilluesit. Ky është kostoja njerëzore në argumentin e Chacon. Çdo mirëmbajtës mjetesh merr një tjetër detyrë përputhshmërie, ndërsa përdoruesit zbulojnë se kontrolli i versionit të tyre tani ka nevojë për kontroll versioni. Për momentin, testoni hostin dhe mjetet tuaja para se të zgjidhni formatin e ri për një
2:44 projekt. Ekipet ekzistuese mund të mbajnë formatin e tyre aktual ndërsa ai ekosistem arrin. Ndërkohë, Pi arriti një pikë zero.
Çfarë mbijeton një rrëzimi në Pi Durable?
2:51 Është një agjent kodimi nga Earendil, me mbështetje native MCP përmes Codemode dhe mjete të ngarkuara kur ato janë të nevojshme. Ekipi e quan minimalizmin qëllim. Nëse konfigurimi i agjentit tuaj tashmë i ngjan një qeverie të vogël, mbajtja e mjeteve jashtë prompt-it derisa të nevojiten tingëllon si reformë administrative. Ai lëshoi gjithashtu Pi Durable, një kornizë e veçantë eksperimentale. Detyrat ruajnë pikat e kontrollit, kështu që një proces i rinisur mund të marrë punën e papërfunduar nga ruajtja e përhershme. Detaji thelbësor është ridhënia e mjeteve.
3:16 Një mjet i ndërprerë nga një rrëzim rishfaqet vetëm kur deklaron se është i sigurt. Përndryshe modelit i thuhet se u ndërpre. Ky është një kufi i dobishëm kur një mjet mund të shpenzojë para. Unë dua që asistenti të mbajë mend listën time të blerjeve pa festuar një rrëzim duke e blerë dy herë.
Çfarë migron SvelteKit 3 për ju?
3:30 SvelteKit tre gjithashtu u lëshua të enjten, duke zhvendosur konfigurimin në Vite dhe duke zëvendësuar dollar lib me hash lib, duke përdorur importet standarde të nënpath-it të paketës. Komanda e migracionit rishkruan atë që mund dhe lë një listë detyrash për pjesën tjetër. Roboti juaj mund të ndihmojë, dhe ndryshimi juaj ende meriton të lexohet. Njoftimi madje rekruton miqtë tuaj robotë për mbetjet. Ne po arrijmë në pikën ku një përmirësim i kornizës lëshon detyra shtëpie dhe një mësues zëvendësues i sugjeruar. Dhe funksionet në distancë ende kanë nevojë për Async Svelte eksperimental.
3:56 Një numër i madh versioni ndihet ngushëllues, por veçoritë individuale mbartin etiketat e tyre të pjekurisë. Kontrolloni ato që po përdorni realisht.
Çfarë provon përjashtimi funksional i GitHub?
4:03 Pra, kush është gati për formatin e ri të Git? Ja ai përjashtim. Një depozitë publike GitHub që përmban bisedën e Brian Carlson tashmë kthen një emër objekti të plotë SHA dyqind e pesëdhjetë e gjashtë. Kontrollova drejtpërdrejt remotën publike. Sllajdet e bisedës e quajnë mbështetjen një parashikim privat dhe thonë se krijimi i depozitës është ende në ardhje. Ka progres aktual pas dhomës së pritjes. Kjo provon se GitHub mund të shërbejë këtë depozitë parashikimi.
4:24 Na jep zero garanci se krijimi i zakonshëm i projektit ose të gjitha integrimet tuaja janë gati. Përjashtimi ka një kufi lejeje. Nëse preferoni ta lexoni këtë sesa të më dëgjoni ta them, ndryshimi arrin në kutinë tuaj hyrëse çdo mëngjes, falas në the daily diff dot dev, linku më poshtë. Pra, vendimi i sotëm është NEEDS REVIEW.
Pse vendimi im varet nga i gjithë zinxhiri i mjeteve?
4:40 Do të mbaja opsionin e hash-it më të fortë, dhe do të testoja të gjithë zinxhirin e mjeteve para se të ndryshoja default-et. Përputhshmëria është pjesë e dërgimit të përmirësimit të sigurisë. Dhe ky është ndryshimi për sot. Unë jam Niko nga Axrisi. Bashkohuni me përgjegjësi.
Burimet
- 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



