Git 2.41 implementéiert Verbesserungen am Repository Handhabung
No dräi Méint vun Entwécklung, der nei Versioun Verëffentlechung verdeelt Quell Kontroll System Gitt 2.41. Am Verglach mat der fréierer Versioun, 542 Ännerungen goufen ugeholl an der neier Versioun, virbereet mat der Participatioun vun 95 Entwéckler, vun deenen 29 fir d'éischte Kéier un der Entwécklung deelgeholl.
Fir déi, déi net iwwer Git wëssen, sollt Dir dat wëssen ass ee vun de populäersten Versiounskontrollsystemer, zouverléisseg an héich performant Software déi flexibel net-linear Entwécklungsinstrumenter baséiert op Gabel a Fusioune vu Gabel.
Git 2.41 Schlëssel Nei Features
An dëser neier Versioun steet dat eraus Ëmgank mat "onerreechbar" Objete gouf verbessert déi net referenzéierten am Repository (keng Referenz op Filialen oder Tags). De Müllsammler läscht d'Objeten, awer si bleiwen am Repository fir eng gewëssen Zäit ier se ewechgeholl gi fir Rennbedéngungen ze vermeiden.
Fir d'Period vun den Objeten ze verfollegen, Tags mussen un hinnen befestegt ginn mat der Ännerungszäit vun ähnlechen Objeten, wat et net erlaabt se an enger Packagedatei ze späicheren, an där all Objeten eng gemeinsam Ännerungszäit hunn.
Virdru gouf all Objet an enger separater Datei gespäichert, wat Problemer huet, wann et eng grouss Unzuel vun neien Objete géif ginn, déi nach net geläscht goufen. An der neier Versioun ginn Cruft Packs als Standard benotzt fir Objekter ze packen «net erreechbar", wat et erlaabt all Objeten an enger Paketdatei ze späicheren an d'Donnéeën iwwer d'Ännerungszäit vun all Objet an enger separater Tabell ze späicheren, déi an enger Datei mat der Extensioun ".mtimes" gespäichert ass a vun enger Indexdatei mat der Extensioun ".idx" verlinkt ass. ".
Eng aner Ännerung déi an dëser neier Versioun erausstécht ass dat op-Disk revindex Ënnerhalt ass fir Package Fichieren aktivéiert. Wann Dir op den Torvalds / Linux Repositories getest gëtt, gëtt e Reverse Index benotzt erlaabt Git Push Operatiounen ze beschleunegen déi vill Ressourcen an 1,49 Mol verbrauchen, an einfach Operatiounen, wéi d'Berechnung vun der Gréisst vun engem eenzegen Objet mat "git cat-file –batch='%(objectsize:disk) "77 mol.
De Réckindex ass an der neier Versioun abegraff zielt fir de Prozess vun der Bestëmmung vun der Identifikatioun vum Objet ze streamlinéieren aus Informatioun iwwer d'Plaz vum Objet an der Packagedatei. D'Operatioun fir en Index ze bauen ass erofgaang fir eng Array vu "Objet Positioun" Pairen ze bauen an se no Positioun ze sortéieren, wat Zäitopwendeg ka sinn fir grouss Paketdateien.
Zum Beispill war d'Operatioun fir den Inhalt vun Objeten ze weisen, déi en direkten Index benotzt, 62 Mol méi séier wéi d'Operatioun fir d'Gréisst vun den Objeten ze weisen, fir déi d'Objetmatedaten net indexéiert goufen. Nodeems Dir de Réckindex benotzt hutt, hunn dës Operatiounen ongeféier déiselwecht Zäit ugefaang. Ëmgekéiert Indexen erlaben Iech och d'Objetverschécken ze beschleunegen andeems Dir Féch- a Versandbefehle ausféiert andeems Dir preparéiert Donnéeën direkt vun der Disk transferéiert.
Et gëtt och beliicht datt am Git 2.41 huet Ënnerstëtzung bäigefüügt fir WWW-Authenticate Header ze passéieren tëscht dem Umeldungshandler an dem Authentifikatiounsservice zum "Umeldungshëllefer" Protokoll dee benotzt gëtt fir Umeldungsinformatiounen ze passéieren wann Dir op limitéiert Repositories zougitt. Kompatibilitéit mam WWW-Authenticate Header erlaabt OAuth Ëmfang Parameteren zu engem getrennten Benotzer Zougang op eng méi granulär Manéier op d'Repositories an ofgrenzen d'Spenden verfügbar fir d'Ufroen.
Vun den aner Ännerungen déi opfalen vun der neier Versioun:
- Zousätzlech Formatoptioun "%(ahead-behind: )» op Kommando fir all Ref, dat erlaabt Iech direkt Informatioun ze kréien iwwer d'Zuel vun de Verpflichtungen déi op enger bestëmmter Branche präsent sinn oder fehlen, relativ zu enger anerer Branche.
- Optioun derbäigesat «- Porzellan» op Kommando "git fech", déi Ausgab am Format generéiert « », manner liesbar, awer méi bequem fir a Skripte ze analyséieren.
- Konfiguratioun derbäi "fetch.hideRefs" Operatiounen ze beschleunegengit sichen» Verstoppt en Deel vun de Referenzen am lokalen Repository op der Scheckstadium datt de Server de ganze Satz vun Objeten geschéckt huet, wat Zäit spuert andeems de Scheck nëmmen op d'Server limitéiert, aus deenen d'Donnéeën direkt zréckgezunn sinn.
De Kommando "gitt fsck» implementéiert d'Fäegkeet fir Korruptioun, Checksum Matching a Wäertvalidatioun op Accessibilitéit Bitmaps a Reverse Indizes ze kontrolléieren. - De Kommando "git clone --local" weist elo e Feeler wann Dir probéiert aus engem Repository ze kopéieren deen Symlinks bannent $GIT_DIR enthält.
Endlech, wann Dir interesséiert sidd méi doriwwer ze wëssen, kënnt Dir d'Detailer konsultéieren An de folgende Link.
Gitt d'éischt fir ze kommentéieren