Издање за контролу извора Гит 2.39

Након два месеца развоја, дистрибуирани систем контроле извора Гит 2.39 је пуштен. Гит је један од најпопуларнијих, најпоузданијих и система за контролу верзија високих перформанси, који пружа флексибилне нелинеарне развојне алате засноване на гранању и спајању. Да би се обезбедио интегритет историје и отпорност на ретроактивне промене, имплицитно хеширање целокупне претходне историје се користи у сваком урезивању; такође је могуће сертификовати појединачне ознаке и урезивања дигиталним потписима програмера.

У поређењу са претходним издањем, нова верзија је укључивала 483 измене, припремљене уз учешће 86 програмера, од којих је 31 први пут учествовао у развоју. Главне иновације:

  • Команда „гит схортлог“, дизајнирана да прикаже сажетке са статистиком из историје промена, додала је опцију „-гроуп“ за произвољно груписање урезивања по пољима која нису ограничена на аутора или извршиоца. На пример, да бисте приказали листу програмера са информацијама о броју промена, узимајући у обзир помоћнике поменуте у пољу „Коаутор“, можете користити команду: гит схортлог -нс --гроуп=аутхор - -гроуп=траилер:коаутор

    Излаз кратког дневника се може агрегирати коришћењем спецификација форматирања, а опција „--гроуп“ може значајно да поједностави креирање сложених извештаја и елиминише потребу за додатним командама за сортирање. На пример, да бисте направили извештај са информацијама о томе колико је урезивања за дато издање прихваћено сваког месеца, можете да наведете: гит схортлог в2.38.0.. —дате='формат:%И-%м' —гроуп=' %цд' -с 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 Раније, да бисте извршили сличну операцију, било је потребно користити сорт и уник услужне програме: гит лог в2.38.0. .. —дате='формат:%И -%м' —формат='%цд' | сортирај | уник -ц

  • Проширене су могућности механизма „цруфт пацкова“, дизајнираног за паковање недоступних објеката који нису референцирани у спремишту (који се не односе на гране или ознаке). Недоступне објекте брише сакупљач смећа, али остају у спремишту одређено време пре него што буду избрисани да би се избегли услови трке. Механизам “цруфт пацк” вам омогућава да ускладиштите све недоступне објекте у једну датотеку пакета и прикажете податке о времену модификације сваког објекта у посебној табели, ускладиштеној у посебној датотеци са екстензијом “.мтимес”, тако да не преклапају се са укупним временом модификације.

    Дужина времена које недоступни објекти остају у спремишту пре него што се стварно обришу одређује опција „—пруне=“ " Међутим, иако је одлагање пре брисања прилично ефикасан и практичан начин да се спречи оштећење спремишта због услова трке, оно није 100% поуздано. Да би се олакшало враћање оштећеног спремишта, ново издање пружа могућност чувања недостајућих објеката додавањем опције „--екпире-то“ команди „гит репацк“, која вам омогућава да наведете датотеку за креирање екстерног копија свих избрисаних објеката. На пример, да бисте сачували недоступне објекте који се нису променили у последњих 5 минута у датотеци бацкуп.гит, можете користити команду: гит репацк --цруфт --цруфт-екпиратион=5.минутес.аго -д --екпире -то=../бацкуп.гит

  • Значајно повећана (до 70%) брзина операције "гит греп -цацхед" при претраживању у областима које користе делимично клонирање (спарсе-цхецкоут) и за које постоје делимични индекси (спарсе индек). Раније, приликом навођења опције „-цацхед“, претрага је вршена прво у редовном индексу, а затим и у делимичним, што је довело до приметних кашњења при претраживању у великим репозиторијумима.
  • Убрзана је серверска верификација кохерентности нових објеката пре него што се поставе у спремиште током операције „гит пусх“. Преласком на обрачун само декларисаних веза приликом провере, у тест репозиторијуму са 7 милиона линкова, од којих је само 3% покривено пусх операцијом, извршене оптимизације су омогућиле смањење времена провере за 4.5 пута.
  • Да би се заштитила од потенцијалног прекорачења целог броја у коду, команда "гит аппли" ограничава максималну величину закрпа које се могу обрадити. Ако величина закрпе прелази 1 ГБ, сада ће се приказати грешка.
  • Да би се заштитили од потенцијалних рањивости, направљене су измене како би се уклониле непотребне информације из заглавља постављених када се користи модул х2х3 са опцијом ГИТ_ТРАЦЕ_ЦУРЛ=1 или ГИТ_ЦУРЛ_ВЕРБОСЕ=1 заједно са ХТТП/2.
  • Када се врши провера на грани која је симболичка веза ка другој грани, команда "гит симболиц-реф ХЕАД" сада приказује име циљне гране уместо имена симболичне везе.
  • Додата подршка за аргумент @{-1} опцији „--едит-десцриптион“ („гит грана —едит-десцриптион @{-1}“) за уређивање описа претходне гране.
  • Додата наредба "гит мерге-трее --стдин" за прослеђивање листе опција путем стандардног уноса.
  • На мрежним системима датотека, фсмонитор руковалац, који прати промене у систему датотека, је подразумевано онемогућен.

Извор: опеннет.ру

Додај коментар