Eldono de fontkontrolo Git 2.38

La liberigo de la distribua fontkontrola sistemo Git 2.38 estis anoncita. Git estas unu el la plej popularaj, fidindaj kaj alt-efikecaj versikontrolaj sistemoj, provizante flekseblajn ne-liniajn evoluilojn bazitajn sur disbranĉigo kaj kunfandado. Por certigi la integrecon de la historio kaj reziston al retroaktivaj ŝanĝoj, implicita hashing de la tuta antaŭa historio estas uzata en ĉiu komit; ankaŭ eblas atesti individuajn etikedojn kaj transdonojn per ciferecaj subskriboj de la programistoj.

Kompare kun la antaŭa eldono, la nova versio inkludis 699 ŝanĝojn, preparitajn kun la partopreno de 92 programistoj, el kiuj 24 partoprenis en evoluo por la unua fojo. Ĉefaj novigoj:

  • La ĉefa strukturo inkluzivas la "skalaran" ilon, evoluigitan de Microsoft por administri grandajn deponejojn. La ilo estis origine skribita en C#, sed git inkluzivas modifitan version en C. La nova ilo diferencas de la git-komando ebligante defaŭlte pliajn funkciojn kaj agordojn, kiuj influas rendimenton kiam oni laboras kun tre grandaj deponejoj. Ekzemple, kiam vi uzas skalaron, ĝi validas:
    • Parta klonado por labori kun nekompleta kopio de la deponejo.
    • Enkonstruita mekanismo por spuri ŝanĝojn en la dosiersistemo (FSMonitor), kiu ebligas al vi fari sen serĉado tra la tuta labordosierujo.
    • Indeksoj kovrantaj objektojn en malsamaj pakdosieroj (multpakaĵo).
    • commit-grafaj dosieroj kun commit-grafika indekso uzata por optimumigi aliron al transigi informojn.
    • Fona perioda laboro por konservi la optimuman strukturon de la deponejo en la fono, sen bloki la interagan sesion (laboro estas farita unufoje hore por iniciateme elŝuti freŝajn objektojn el la fora deponejo kaj ĝisdatigi la dosieron kun la kommit-grafo, kaj la procezo de pakado. la deponejo estas komencita ĉiunokte).
    • "sparseCheckoutCone" reĝimo, kiu limigas permesitajn ŝablonojn dum parta klonado.
  • Aldonis --update-refs opcion al la "git rebase" komando por ĝisdatigi dependajn branĉojn, kiuj interkovras kun la branĉoj movataj, anstataŭ devi mane kontroli ĉiun dependan branĉon por ŝanĝi al la bezonata kommit.
  • Faris la komandon "git rm" kongrua kun partaj indeksoj.
  • Plibonigis la konduton de la komando "git mv AB" kiam oni movas dosieron de laborspaco kun partaj indeksoj en "konuso" reĝimo al ekstera medio, kiu ne havas ĉi tiun reĝimon.
  • La bitmapa dosierformato estis optimumigita por labori kun grandaj deponejoj - laŭvola indeksa tabelo estis aldonita kun listo de elektitaj komitaĵoj kaj iliaj ofsetoj.
  • La komando "git merge-tree" efektivigas novan reĝimon en kiu, surbaze de du specifitaj komits, arbo kun la rezulto de la kunfando estas kalkulita, kvazaŭ la historioj de ĉi tiuj kommits estus kunfanditaj.
  • Aldonita "safe.barerepository" agordo por kontroli la kapablon gastigi nudajn deponejojn (deponejojn kiuj ne enhavas funkciantan arbon) ene de aliaj git-deponejoj. Kiam agordita al "eksplicita", eblos labori kun nudaj deponejoj situantaj nur en la supra dosierujo. Por povi meti nudajn deponejojn en subdosierujojn, uzu la valoron "ĉiuj".
  • La komando "git grep" aldonis la opcion "-m" ("—max-count"), kiu similas al la samnoma opcio en GNU grep kaj ebligas al vi limigi la nombron de montrataj kongruoj.
  • La komando "ls-files" efektivigas la opcion "--format" por agordi la eligkampojn (ekzemple, vi povas ebligi eligon de la objektonomo, reĝimoj, ktp.).
  • En "git cat-file", kiam oni montras la enhavon de objektoj, eblas konsideri la aŭtor-retpoŝtajn ligojn specifitajn en la retpoŝta dosiero.

fonto: opennet.ru

Aldoni komenton