Itusilẹ iṣakoso orisun Git 2.37

Itusilẹ ti eto iṣakoso orisun pinpin Git 2.37 ti ṣafihan. Git jẹ ọkan ninu olokiki julọ, igbẹkẹle, ati awọn eto iṣakoso ẹya ti o ga julọ ti o pese awọn irinṣẹ idagbasoke ti kii ṣe laini ti o da lori awọn ẹka ati idapọmọra awọn ẹka. Lati rii daju iduroṣinṣin ti itan ati atako si awọn ayipada ifẹhinti, hashing ti gbogbo itan ti tẹlẹ ninu ifaramo kọọkan ni a lo, o tun ṣee ṣe lati rii daju awọn ami kọọkan ati ṣe pẹlu awọn ibuwọlu oni nọmba lati ọdọ awọn olupilẹṣẹ.

Ti a ṣe afiwe si itusilẹ ti tẹlẹ, awọn ayipada 395 ni a gba sinu ẹya tuntun, ti a pese sile pẹlu ikopa ti awọn olupilẹṣẹ 75, eyiti 20 ṣe alabapin ninu idagbasoke fun igba akọkọ. Awọn imotuntun akọkọ:

  • Ilana ti awọn atọka apakan (itọka ṣoki), ti o bo apakan nikan ti ibi ipamọ, ti ṣetan fun lilo ni ibigbogbo. Awọn atọka apakan le mu iṣẹ ṣiṣe dara ati fi aaye pamọ sinu awọn ibi ipamọ ti o ṣe awọn iṣẹ ṣiṣe ti cloning apa kan (ṣayẹwo-ṣayẹwo) tabi ṣiṣẹ pẹlu ẹda pipe ti ibi ipamọ naa. Itusilẹ tuntun pari isọpọ ti awọn atọka apakan sinu ifihan git, git sparse-checkout, ati awọn pipaṣẹ git stash. Anfani iṣẹ ṣiṣe ti o ṣe akiyesi julọ lati lilo awọn atọka apakan ni a rii pẹlu aṣẹ “git stash”, eyiti o ti rii ilosoke 80% ni iyara ipaniyan ni awọn ipo kan.
  • A ti ṣe ilana tuntun “awọn akopọ cruft” fun iṣakojọpọ awọn nkan ti ko le de ti ko ṣe itọkasi ni ibi ipamọ (kii ṣe itọkasi nipasẹ awọn ẹka tabi awọn ami). Awọn nkan ti a ko le de ni a paarẹ nipasẹ agbodọti, ṣugbọn wa ninu ibi ipamọ fun akoko kan ṣaaju ki o to paarẹ lati yago fun awọn ipo ere-ije. Lati ṣe atẹle akoko iṣẹlẹ ti awọn nkan ti a ko le de ọdọ, o jẹ dandan lati so awọn afi si wọn pẹlu akoko iyipada ti awọn nkan ti o jọra, eyiti ko gba laaye titoju wọn sinu faili idii kan ninu eyiti gbogbo awọn nkan ni akoko iyipada ti o wọpọ. Ni iṣaaju, fifipamọ nkan kọọkan ni faili lọtọ yori si awọn iṣoro nigbati nọmba nla ti alabapade, awọn nkan ti ko le de ọdọ wa ti ko tii yẹ fun piparẹ. Ilana “awọn akopọ cruft” ti a dabaa gba ọ laaye lati fipamọ gbogbo awọn nkan ti a ko le de sinu faili idii kan, ati ṣe afihan data lori akoko iyipada ti ohun kọọkan ni tabili lọtọ ti o fipamọ sinu faili pẹlu itẹsiwaju “.mtimes”.
  • Fun Windows ati MacOS, ẹrọ ti a ṣe sinu rẹ wa fun titele awọn ayipada si eto faili, gbigba ọ laaye lati yago fun atunwi lori gbogbo itọsọna iṣẹ nigba ṣiṣe awọn iṣẹ bii “ipo git”. Ni iṣaaju, lati tọpa awọn ayipada, awọn ohun elo ita fun ipasẹ awọn ayipada ninu FS, gẹgẹbi Watchman, le ni asopọ nipasẹ awọn kio, ṣugbọn eyi nilo fifi sori awọn eto afikun ati iṣeto ni. Bayi awọn iṣẹ pàtó kan ti wa ni-itumọ ti ni ati ki o le ti wa ni mu ṣiṣẹ pẹlu awọn pipaṣẹ "git konfigi core.fsmonitor otitọ".
  • Ninu aṣẹ “git sparse-checkout”, atilẹyin fun yiyan si ipo “—konu”, ọna ti asọye awọn awoṣe fun ti ẹda apa kan, ti sọ pe o ti di asan, eyiti o fun laaye, nigbati o ba pinnu apakan ti ibi ipamọ ti o jẹ koko ọrọ si isẹ ti cloning, lati ṣe atokọ awọn faili kọọkan nipa lilo sintasi “.gitignore”, eyiti ko gba laaye lilo fun iṣapeye awọn atọka apakan.
  • Irọrun pọ si ni atunto ipe fsync() lati fọ awọn ayipada si disiki. Atilẹyin fun ilana imuṣiṣẹpọ “ipele” ni a ti ṣafikun si paramita “core.fsyncMethod”, eyiti o fun laaye ni iyara iṣẹ nigba kikọ nọmba nla ti awọn faili kọọkan nipa ikojọpọ awọn ayipada ninu kaṣe kikọ kikọ, eyiti o tunto nipasẹ fsync kan () ipe. Idanwo naa, eyiti o mu ki awọn faili 500 ni afikun ni lilo pipaṣẹ “git add”, ti pari ni iṣẹju-aaya 0.15 nigbati ipo tuntun ti ṣiṣẹ, lakoko ti pipe fsync () gba awọn aaya 1.88 fun faili kọọkan, ati laisi lilo fsync - 0.06 awọn aaya.
  • Awọn aṣẹ lilọ kiri ẹka bii “git log” ati “git rev-list” ni bayi ni aṣayan “-since-as-filter=X” ti o fun ọ laaye lati ṣe àlẹmọ alaye nipa awọn iṣẹ ṣiṣe ti o dagba ju “X”. Ko dabi aṣayan “-niwon”, aṣẹ tuntun ti wa ni imuse bi àlẹmọ ti ko da wiwa naa duro lẹhin ṣiṣe akọkọ ti o dagba ju akoko pàtó lọ.
  • Ninu aṣẹ “git latọna jijin”, nigbati o ba ṣalaye asia “-v”, alaye nipa awọn ere ibeji apakan ti ibi ipamọ ti han.
  • Ṣe afikun eto “transfer.credentialsInUrl”, eyiti o le gba awọn iye “kilọ”, “ku” ati “gba laaye”. Ti o ba jẹ pato ninu paramita “latọna jijin. .url" awọn iwe eri itele, igbiyanju lati ṣe iṣẹ "bu" tabi "titari" yoo kuna pẹlu aṣiṣe kan ti eto "transfer.credentialsInUrl" ti ṣeto si "ku", tabi ikilọ ti o ba ṣeto si "kilọ".
  • Nipa aiyipada, imuse tuntun ti ipo ibaraenisepo ti aṣẹ “git add -i”, ti a tun kọ lati Perl si C, ti ṣiṣẹ.

orisun: opennet.ru

Fi ọrọìwòye kun