+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Bagong Default na Hash ng Git – Ang Kahulugan Nito

Ang iminungkahing SHA-256 default ng Git ay lumilikha ng hangganan ng compatibility para sa mga bagong repository.

Ang iminungkahing SHA-256 default ng Git ay lumilikha ng hangganan ng compatibility para sa mga bagong repository. Sinusuri namin ang opisyal na plano, ang pagtutol ni Scott Chacon at isang gumaganang exception sa GitHub preview, pagkatapos ay tinatalakay ang Pi 1.0 at SvelteKit 3. Pasya: NEEDS REVIEW.

Basahin ang nakasulat na edisyon (English) ↗

Ang sakop ng video na ito

  • Bakit hindi maaaring mag-usap ang dalawang Git repository?
  • Ano ba talaga ang binabago ng Git 3?
  • Bakit papalitan ang SHA-1 kung nakakadetect ng collisions ang Git?
  • Ano ang ipinakita ng aming lokal na compatibility check?
  • Ano ang nananatili pagkatapos ng pag-crash sa Pi Durable?

Isinaling transcript

Isinalin mula sa orihinal na salaysay sa English. Ang available na audio at mga caption ay kinokontrol ng YouTube.

Bakit hindi maaaring mag-usap ang dalawang Git repository?

0:00 Akala mo, ang pag-upgrade ng Git ay magpapanatili sa iyong mga tool na nag-uusap. Ang binalak na bagong hash default ng Git ay lumilikha ng mga repository na ang lumang format ngayon ay hindi makakausap. Sa video na ito, bakit magbabago? Ano ang masisira? Sino ang handa? Mayroon nang gumaganang exception sa GitHub. Ipapakita ko sa iyo kung ano ang pinatutunayan nito sa huli. Biyernes, Oktubre 2, at ito ang The Daily Diff.

0:18 Noong Huwebes, tinawag ng isang cofounder ng GitHub ang binalak na pagbabago ng Git na isang magastos na pagkakamali. Nag-ship ang Pi ng bagong ahente harness, at nag-ship ang SvelteKit ng isa pang migration. Tumulong si Scott Chacon sa pagbuo ng GitHub at sumulat ng Pro Git, kaya ang reklamo na ito ay galing sa loob ng bahay. Nagbebenta din ang bahay ng mga tool ng Git. Una, ang aktwal na plano.

Ano ba talaga ang binabago ng Git 3?

0:35 Ang Git 3 ay magde-default ng mga bagong repository sa SHA 256, kapag handa nang suportahan ito ng mga library at hosting services. Ang opisyal na dokumento ay walang ibinigay na petsa ng release at pinapanatili ang SHA one na sinusuportahan. Ang iyong umiiral na repository ay hindi awtomatikong magbabago ng format kapag in-upgrade mo ang executable. Mahalagang tandaan iyan bago iskedyul ng iyong group chat ang isang emergency migration. Ang drama ay isang iminungkahing default, at ang deadline ay kasalukuyang isang blangkong kalendaryo.

Bakit papalitan ang SHA-1 kung nakakadetect ng collisions ang Git?

0:58 Bakit magbabago? Pinapangalanan ng Git ang mga object sa pamamagitan ng pag-hash ng kanilang mga nilalaman. Ang mga file ay pumupunta sa mga puno, at ang mga commit ay tumutukoy sa mga puno at mas naunang mga commit. Nagbibigay iyon sa iyo ng integridad sa buong kasaysayan. Baguhin ang scheme ng hashing at magbabago rin ang mga pangalan ng object, kasama ang mga reference na nakaimbak sa loob ng iba pang mga object. Bumabalik si Chacon kay Linus Torvalds, ang lumikha ng Git, na nagpapahayag na mahalaga ang pinagkakatiwalaang

1:17 distribusyon. Iyan ay isang makasaysayang posisyon, at pinili ni Linus ang SHA one noong 2005. Ang kaso ng seguridad ay nagbago mula noon. Ipinakita ng mga researcher ang mga SHA one collision noong 2017, at kalaunan ay ipinakita ang isang piniling prefix attack laban sa mga PGP identity certificate. Nakikita ng modernong Git ang mga kilalang collision attack gamit ang hardened SHA one. Gusto rin ng mga maintainer nito ng proteksyon laban sa mga future attack, na isang makatwirang bagay na gusto mula sa mga pirma.

1:41 Iniisip ni Chacon na masyadong maliit na seguridad ang binibili ng ecosystem bill. Iminumungkahi niya ang pagpirma ng isang hiwalay na malakas na checksum ng mga nilalaman ng puno, habang pinapanatili ang object addressing ngayon sa ilalim. Ano ang masisira? Gumawa ako ng parehong format nang lokal at ni-hash ang parehong maliit na file.

Ano ang ipinakita ng aming lokal na compatibility check?

1:54 Ang isang pangalan ng object ay may apatnapung hex character, ang isa naman ay animnapu't apat. Pagkatapos ay sinubukan kong mag-fetch sa pagitan nila. Tinanggihan ito ng aking naka-install na Git na may mismatched algorithms, eksaktong compatibility gap na inilarawan sa kasalukuyang opisyal na manual. Ginamit nito ang aking lumang naka-install na Git, kaya sinasabi nito sa amin ang tungkol sa hangganan ngayon. Ang tawagin itong pagsubok ng hindi pa nailalabas na Git 3 ay magiging creative accounting. Ang migration work ay umaabot sa mga script na nag-aakala ng haba ng hash, at mga system na nagli-link sa mga pangalan ng object.

2:19 Ang pag-rehash ng kasaysayan ay nangangailangan ng mapping sa pagitan ng mga identity na iyon. Kasama sa transition design ng Git ang mapping na iyon at paghawak ng pirma. Mahalaga ang kahandaan sa implementasyon, dahil ang isang design document ay hindi nag-a-upgrade ng library na nakatago sa loob ng iyong paboritong developer tool. Iyan ang human cost sa argumento ni Chacon. Bawat maintainer ng tool ay nakakakuha ng isa pang trabaho sa compatibility, habang nadiskubre ng mga user na ang kanilang version control ngayon ay nangangailangan ng version control. Sa ngayon, subukan ang iyong host at tooling bago pumili ng bagong format para sa isang

2:44 proyekto. Ang mga umiiral na team ay maaaring panatilihin ang kanilang kasalukuyang format habang humahabol ang ecosystem. Samantala, naabot ng Pi ang bersyon 1.0.

Ano ang nananatili pagkatapos ng pag-crash sa Pi Durable?

2:51 Ito ay isang coding agent harness mula sa Earendil, na may native na MCP support sa pamamagitan ng Codemode at mga tool na na-load kapag kinakailangan. Tinawag ng team na minimalism ang punto. Kung ang iyong agent setup ay kahawig na ng isang maliit na gobyerno, ang pagpapanatili ng mga tool sa labas ng prompt hanggang sa kailanganin ay parang repormang administratibo. Inilabas din nito ang Pi Durable, isang hiwalay na experimental framework. Ang mga gawain ay nagse-save ng mga checkpoint upang ang isang muling simulan na proseso ay maaaring kunin ang hindi pa natapos na trabaho mula sa persistent storage. Ang mahalagang detalye ay tool replay.

3:16 Ang isang tool na naantala ng pag-crash ay muling tumatakbo lamang kapag idineklara nito na ligtas iyon. Kung hindi, sinasabihan ang modelo na naantala ito. Iyan ay isang kapaki-pakinabang na hangganan kapag ang isang tool ay maaaring gumastos ng pera. Gusto kong tandaan ng assistant ang aking shopping list nang hindi ipinagdiriwang ang pag-crash sa pamamagitan ng pagbili nito nang dalawang beses.

Ano ang minigrate ng SvelteKit 3 para sa iyo?

3:30 Ang SvelteKit 3 ay lumabas din noong Huwebes, na naglilipat ng configuration sa Vite at pinapalitan ang dollar lib ng hash lib, gamit ang standard package subpath imports. Isinusulat muli ng migration command ang kayang isulat at nag-iiwan ng to-do list para sa natitira. Makakatulong ang iyong robot, at ang iyong diff ay karapat-dapat pa ring basahin. Ang anunsyo ay nagre-recruit pa nga ng iyong mga kaibigang robot para sa mga natira. Naabot na natin ang punto kung saan ang isang framework upgrade ay nagshi-ship ng homework at isang iminungkahing substitute teacher. At ang mga remote function ay nangangailangan pa rin ng experimental Async Svelte.

3:56 Ang isang pangunahing numero ng bersyon ay nakakapanatag, ngunit ang mga indibidwal na feature ay may sariling mga label ng maturity. Tingnan ang mga aktwal mong ginagamit.

Ano ang pinatunayan ng working exception ng GitHub?

4:03 Kaya sino ang handa para sa bagong format ng Git? Narito ang exception na iyon. Ang isang pampublikong GitHub repository na naglalaman ng usapan ni Brian Carlson ay nagbabalik na ng isang buong SHA 256 object name. Direkta kong sinuri ang pampublikong remote. Ang talk slides ay tinatawag ang suporta na isang pribadong preview at sinasabi na ang paggawa ng repository ay darating pa. May aktwal na progreso sa likod ng waiting room. Pinatutunayan nito na maaaring magsilbi ang GitHub sa preview repository na ito.

4:24 Nagbibigay ito sa amin ng zero garantiya na handa na ang ordinaryong paggawa ng proyekto o lahat ng iyong integrations. May hangganan ng pahintulot ang exception. Kung mas gusto mong basahin ito kaysa pakinggan akong sabihin ito, ang diff ay dumarating sa iyong inbox tuwing umaga, libre sa the daily diff dot dev, link sa ibaba. Kaya ang pasya ngayon ay NEEDS REVIEW.

Bakit nakadepende ang aking pasya sa buong toolchain?

4:40 Pananatilihin ko ang mas malakas na hash option, at susubukan ang buong toolchain bago baguhin ang mga default. Ang compatibility ay bahagi ng pagpapadala ng pagpapabuti sa seguridad. At iyan ang diff para ngayon. Ako si Niko mula sa Axrisi. Magsama nang responsable.

Mga Pinagmulan

  1. Chaconblog.gitbutler.com
  2. Git's official plangit-scm.com
  3. Current interoperabilitygit-scm.com
  4. Transition designgit-scm.com
  5. Independent collision researchsha-mbles.github.io
  6. GitHub preview repositorygithub.com
  7. Pi 1.0earendil.com
  8. Pi Durableearendil.com
  9. SvelteKit 3svelte.dev
  10. HN discussionnews.ycombinator.com

Mga kaugnay na video