Po treh mesecih razvoja je izšla nova različica distribuiranega sistema za upravljanje izvorno kodo Git 2.40. Git je eden najbolj priljubljenih, zanesljivih in zmogljivih sistemov za upravljanje različic, ki ponuja fleksibilna orodja za nelinearni razvoj, temelječa na razveji in združevanju vej. Za zagotavljanje celovitosti zgodovine in odpornosti na spremembe 'nazaj v preteklost' se uporablja implicitno hashranje celotne prejšnje zgodovine v vsakem commit-u, prav tako je mogoča overitev digitalnih podpisov razvijalcev posameznih tagov in commit-ov.
V primerjavi s prejšnjo različico je nova različica sprejela 472 sprememb, ki so jih pripravili 88 razvijalci, od katerih je 30 prvič sodelovalo pri razvoju. Glavne novosti so:
- V skriptu git-jump je dodana podpora za urejevalnik Emacs, poleg prej podprtih urejevalnika Vim. Git-jump se uporablja za prenos informacij o pozicijah v datoteki v urejevalnik besedila za hitro navigacijo in preklop k urejanju kode na določenem mestu. Na primer, git-jump se lahko uporablja za preklapljanje med vrsticami, pridobljenimi iz razreševanja konfliktov pri združevanju, ocenjevanju razlik in izvajanju iskanja (z uporabo 'git jump grep foo' in nato hitro preklapljanje med pozicijami, kjer se pojavi maska 'foo').
- V 'git cat-file' je omogočena podpora za uporabo možnosti '-s' in '--batch-check' skupaj s '--use-mailmap' za pravilno določanje velikosti objekta ob upoštevanju zamenjave identifikatorja, izvedene na podlagi povezav na email, ki so določene v datoteki mailmap (prej je možnost '--use-mailmap' vplivala le na izhod vsebine, vendar ni upoštevala, da so lahko stari in zamenjani pari ime/email različni velikosti).
- V ukaz 'git check-attr' je dodana možnost '--source' za izbiro drevesa z želeno datoteko '.gitattributes', ki bo uporabljena za določitev aktualnih atributov v primeru več datotek '.gitattributes' v repozitoriju.
- Implementacija ukaza 'git bisect' je bila ponovno napisana v jeziku C in vključena v glavno izvršno datoteko git (prej je bil ukaz realiziran v obliki Shell-skripte).
- Stara implementacija komande „git add —interactive“, napisana u Shellu, je uklonjena (u git-u 2.26 je predložen ugrađeni model u C-u, ali je stara implementacija u Shellu ostala dostupna i regulisana podešavanjem add.interactive.useBuiltin).
- Opcija ‘—merge-base’ dodata u komandu „git merge-tree“.
- Opcija „—abbrev=“ dodata u komandu „git range-diff“.
- Dodana je mogućnost predefinisanja editora lista za interaktivni mod komande rebase postavljanjem promenljive GIT_SEQUENCE_EDITOR putem komande „git var“, prema uzoru na „git var GIT_EDITOR“.
- Podservis za upravljanje računima sada podržava lozinke sa ograničenim rokom važenja.
- U skriptama za automatsko dopunjavanje u Bash-u implementiran je režim rada bez obzira na velika ili mala slova.
Izvor: opennet.ru
