Издање дистрибуираног система контроле извора Гит 2.26

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

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

  • Подразумевано је пребачено на друга верзија Гит комуникациони протокол, који се користи када се клијент даљински повезује са Гит сервером. Друга верзија протокола је значајна по томе што пружа могућност филтрирања грана и ознака на страни сервера, враћајући скраћену листу веза клијенту. Раније би било која команда за повлачење увек слала клијенту пуну листу референци у целом спремишту, чак и када је клијент ажурирао само једну грану или проверавао да ли је њихова копија спремишта ажурирана. Још једна значајна иновација је могућност додавања нових могућности протоколу како нова функционалност постаје доступна у комплету алата. Клијентски код остаје компатибилан са старим протоколом и може наставити да ради и са новим и са старим серверима, аутоматски се враћајући на прву верзију ако сервер не подржава другу.
  • Опција „-схов-сцопе“ је додата команди „гит цонфиг“, што олакшава идентификацију места где су одређена подешавања дефинисана. Гит вам омогућава да дефинишете подешавања на различитим местима: у спремишту (.гит/инфо/цонфиг), у корисничком директоријуму (~/.гитцонфиг), у конфигурационој датотеци за читав систем (/етц/гитцонфиг) и преко команде опције линије и променљиве окружења. Приликом извршавања „гит цонфиг“ прилично је тешко разумети где је тачно дефинисано жељено подешавање. Да би се решио овај проблем, опција „--схов-оригин“ је била доступна, али она само показује путању до датотеке у којој је подешавање дефинисано, што је корисно ако намеравате да измените датотеку, али не помаже ако потребно је да промените вредност преко „гит цонфиг“ користећи опције „--систем“, „--глобал“ или „-лоцал“. Нова опција "--схов-сцопе" приказује контекст дефиниције променљиве и може се користити заједно са -схов-оригин:

    $ гит --лист --схов-сцопе --схов-оригин
    глобални фајл:/хоме/усер/.гитцонфиг дифф.интерхункцонтект=1
    глобални фајл:/хоме/усер/.гитцонфиг пусх.дефаулт=цуррент
    […] local file:.git/config branch.master.remote=origin
    локална датотека:.гит/цонфиг бранцх.мастер.мерге=рефс/хеадс/мастер

    $ гит цонфиг --схов-сцопе --гет-регекп 'разл.*'
    глобална дифф.статграпхвидтх 35
    локална дифф.цолормовед плаин

    $ гит цонфиг --глобал --унсет дифф.статграпхвидтх

  • У подешавањима везивања акредитиве Употреба маски у УРЛ адресама је дозвољена. Било која ХТТП подешавања и акредитиви у Гиту могу да се подесе и за све везе (хттп.ектраХеадер, цредентиал.хелпер) и за везе засноване на УРЛ-у (цредентиал.хттпс://екампле.цом.хелпер, цредентиал.хттпс: //екампле. цом.помоћник). До сада су џокери као што је *.екампле.цом били дозвољени само за ХТТП подешавања, али нису били подржани за везивање акредитива. У Гиту 2.26, ове разлике су елиминисане и, на пример, да бисте повезали корисничко име са свим поддоменима, сада можете да наведете:

    [акредитив „хттпс://*.екампле.цом“]

    корисничко име = ттаилорр

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

    $ гит цлоне --филтер=блоб:ноне --спарсе [емаил заштићен]:гит/гит.гит

    $ цд гит
    $ гит спарсе-цхецкоут инит --цоне

    $ гит спарсе-цхецкоут адд т
    ....
    $ гит спарсе-цхецкоут адд Документација
    ....
    $ гит ретка листа за одјаву
    документација
    t

  • Перформансе команде „гит греп“, која се користи за претрагу и тренутног садржаја спремишта и историјских ревизија, значајно је побољшана. Да би се убрзала претрага, било је могуће скенирати садржај радног стабла користећи више нити („гит греп –тхреадс“), али је претрага у историјским ревизијама била једнонитна. Сада је ово ограничење уклоњено имплементацијом могућности паралелизације операција читања из складишта објеката. Подразумевано, број нити је постављен једнак броју ЦПУ језгара, што у већини случајева сада не захтева експлицитно подешавање опције „-тхреадс“.
  • Додата подршка за аутоматско довршавање уноса подкоманди, путања, веза и других аргумената команде „гит ворктрее“, која вам омогућава да радите са неколико радних копија спремишта.
  • Додата подршка за светле боје које имају АНСИ излазне секвенце. На пример, у подешавањима за боје истицања „гит цонфиг –цолор“ или „гит дифф –цолор-мовед“ можете одредити „%Ц(бригхтблуе)“ преко опције „--формат“ за светло плаву.
  • Додата нова верзија скрипте фсмонитор-ватцхман, обезбеђујући интеграцију са механизмом Фацебоок Ватцхман да би се убрзало праћење промена датотека и појављивања нових датотека. Након ажурирања потребан је гит заменити кука у спремишту.
  • Додате оптимизације за убрзавање делимичних клонова када се користе битмапе
    (машина за битмап) да би се избегла потпуна претрага свих објеката приликом филтрирања излаза. Провера блобова (—филтер=блоб:ноне и —филтер=блоб:лимит=н) током делимичног клонирања се сада обавља
    знатно брже. ГитХуб је најавио закрпе са овим оптимизацијама и експерименталном подршком за делимично клонирање.

  • Команда „гит ребасе“ је премештена на другу позадину, користећи подразумевани механизам „спајање“ (раније коришћен за „ребасе -и“) уместо „патцх+аппли“. Позадине се разликују на неке мале начине, на пример, након наставка операције након решавања конфликта (гит ребасе --цонтинуе), нова позадина нуди измену поруке урезивања, док је стара једноставно користила стару поруку. Да бисте се вратили на старо понашање, можете користити опцију „--аппли“ или подесити конфигурациону променљиву „ребасе.бацкенд“ на „аппли“.
  • Пример руковаоца за параметре аутентикације специфициране преко .нетрц је сведен на форму погодну за употребу ван кутије.
  • Додато је подешавање гпг.минТрустЛевел за постављање минималног нивоа поверења за различите елементе који врше верификацију дигиталног потписа.
  • Додата опција "--патхспец-фром-филе" у "гит рм" и "гит стасх".
  • Побољшање тестних пакета је настављено у припреми за прелазак на СХА-2 алгоритам хеширања уместо на СХА-1.

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

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