Выпуск размеркаванай сістэмы кіравання зыходнымі тэкстамі Git 2.27

даступны выпуск размеркаванай сістэмы кіравання зыходнымі тэкстамі Git 2.27.0. Git з'яўляецца адной з самых папулярных, надзейных і высокапрадукцыйных сістэм кіравання версіямі, якая прадстаўляе гнуткія сродкі нелінейнай распрацоўкі, якія базуюцца на адгалінаванні і зліцці галінак. Для забеспячэння цэласнасці гісторыі і ўстойлівасці да змен «заднім лікам» выкарыстоўваюцца няяўнае хэшаванне ўсёй папярэдняй гісторыі ў кожным коміце, таксама магчыма пасведчанне лічбавымі подпісамі распрацоўшчыкаў асобных тэгаў і коммітаў.

У параўнанні з мінулым выпускам у новую версію прынята 537 змен, падрыхтаваных пры ўдзеле 71 распрацоўніка, з якіх 19 упершыню прынялі ўдзел у распрацоўцы. Асноўныя навіны:

  • Адменена рэалізаванае ў мінулым выпуску ўключэнне па змаўчанні другой версіі камунікацыйнага пратаколу Git, які выкарыстоўваецца пры аддаленым падключэнні кліента да Git-сервера. Пратакол прызнаны пакуль не гатовым да выкарыстання па змаўчанні з-за выяўленні слізкіх момантаў, якія патрабуюць асобнага разгляду.
  • Дададзены набор опцый для наладкі SSL-злучэнні пры звароце праз проксі.
  • Пашыраная інфармацыя, якая выдаецца пры выкарыстанні пераўтваральных фільтраў "clean" і "smudge". Напрыклад, зараз паказваецца аб'ект tree-ish, у якім з'яўляецца пераўтвораны блоб.
  • Для пазбягання блытаніны ў камандзе «git describe» зараз заўсёды ўжываецца пашыраны рэжым высновы («—long»), калі выяўлены звязаны з комітам заменены тэг (раней, падпісаны ці анатаваны тэг, які апісвае коміт, выводзіўся нават калі ён быў пераназваны ці перамешчаны ў іерархіі. "refs/tags/", і каманда "git show тэг^0" не працавала як чакалася - "refs/tags/тэг» не знаходзіўся ці нават выдаваўся ўжо іншы тэг).
  • Пры выкананні "git pull" зараз выдаецца папярэджанне, калі відавочна не зададзена канфігурацыйная зменная pull.rebase і не ўжытыя опцыі "-[no-]rebase" або "-ff-only". Для прыгнечання папярэджання тымі, хто не збіраецца выконваць аперацыю rebase, можна ўсталяваць зменнай значэнне "false".
  • Праведзена рэвізія опцый "git pull", агульных з "git fetch". Дакументаваны раней не згаданыя падобныя опцыі і забяспечана перадача ў "git fetch" прапушчаных опцый.
  • У каманду "git rebase" дададзена опцыя "-no-gpg-sign" для перавызначэння налады "commit.gpgSign".
  • У "git format-patch" дададзена магчымасць адлюстравання загалоўкаў "From:" і "Subject:" у нязменным выглядзе, без пераўтварэння сімвалаў, якія адсутнічаюць у кадоўцы ASCII.
  • У "git log" дададзена опцыя "-show-pulls", якая дазваляе прагледзець не толькі коміты ў якіх было выканана змены, але і коміт для зліцця гэтых змен з асобнай галінкі.
  • Уніфікавана апрацоўка інтэрактыўнага ўводу ва ўсіх кампанентах і дададзены выклік fflush() пасля паказу запрашэння ўводу, але перад аперацыяй чытання.
  • У "git rebase" дазволена без папярэдняга выканання аперацыі "checkout" паўторна ўжыць усе лакальныя коміты, нават калі некаторыя з іх раней былі перададзеныя ў upstream.
  • Значэнне канфігурацыйнай зменнай 'pack.useSparse' заменена на 'true' для ўключэння па змаўчанні аптымізацый, раней якія падаюцца як эксперыментальныя.
  • У git merge дададзена опцыя autostash .
  • Палепшаны інтэрфейс "sparse-checkout".
  • У "git update-ref -stdin" дададзена некалькі новых дзеянняў,
    якія дазваляюць наўпрост кантраляваць транзакцыі абнаўлення спасылак, напрыклад, для рэалізацыі двухэтапнага атамарнага абнаўлення спасылак у некалькіх рэпазітарах.

  • Дададзены шаблоны userdiff для дакументаў Markdown.
  • Убрана абмежаванне на выключэнне ўсіх шляхоў у шаблонах sparse-checkout, якія прыводзяць да пустога працоўнага дрэва.
  • Аперацыя "git restore -staged -worktree" зараз па змаўчанні выкарыстоўвае змесціва з галінкі "HEAD", замест высновы памылкі.
  • Прадоўжана работа па пераходзе на алгарытм хэшавання SHA-2 замест SHA-1.
  • Перапрацаваны код для ўзаемадзеяння з GnuPG.

Крыніца: opennet.ru

Дадаць каментар