Lëshimi i sistemit të shpërndarë të menaxhimit të teksteve burimore Git 2.25

I verfĂŒshĂ«m lĂ«shimi i sistemit tĂ« shpĂ«rndarĂ« tĂ« menaxhimit tĂ« kodit burimor Git 2.25.0. Git Ă«shtĂ« njĂ« nga sistemet mĂ« tĂ« njohura, tĂ« besueshme dhe me performancĂ« tĂ« lartĂ« pĂ«r menaxhimin e versioneve, duke ofruar mjete fleksibile pĂ«r zhvillim jo-linear, tĂ« bazuara nĂ« degĂ«zimin dhe bashkimin e degĂ«ve. PĂ«r tĂ« siguruar integritetin e historisĂ« dhe qĂ«ndrueshmĂ«rinĂ« ndaj ndryshimeve 'pĂ«r pas', pĂ«rdoret hash-i i implicit i gjithĂ« historisĂ« sĂ« mĂ«parshme nĂ« çdo commit, siç Ă«shtĂ« e mundur edhe verifikimi me firma digjitale tĂ« zhvilluesve tĂ« etiketimeve dhe commit-eve tĂ« veçanta.

Në krahasim me edicionin e kaluar, versioni i ri përmban 583 ndryshime, të përgatitura me pjesëmarrjen e 84 zhvilluesve, nga të cilët 32 morën pjesë për herë të parë në zhvillim. Ndryshimet kryesore risitë:

  • Po afron stabilizimi dhe gatishmĂ«ria e plotĂ« pĂ«r mundĂ«sinĂ« e klonimit tĂ« pjesshĂ«m (partial clones), e cila lejon bartjen vetĂ«m tĂ« njĂ« pjese tĂ« tĂ« dhĂ«nave dhe punimin me njĂ« kopje tĂ« paplotĂ« tĂ« depozitĂ«s. NĂ« klonimin e zakonshĂ«m, tĂ« dhĂ«nat e plota kopjohen nga depozita, duke pĂ«rfshirĂ« secilĂ«n version tĂ« çdo skedari nga historia e ndryshimeve. PĂ«r depozita shumĂ« tĂ« mĂ«dha, kopjimi i tĂ« dhĂ«nave çon nĂ« rritje tĂ« konsiderueshme tĂ« trafikut dhe hapĂ«sirĂ«s nĂ« disk, edhe nĂ«se zhvilluesi Ă«shtĂ« i interesuar vetĂ«m pĂ«r njĂ« nĂ«ngrup skedarĂ«sh. PĂ«r tĂ« lehtĂ«suar marrjen vetĂ«m tĂ« njĂ« pjese tĂ« pemĂ«s sĂ« punĂ«s sĂ« burimeve tĂ« teksteve, nĂ« versionin e ri ofrohet njĂ« komandĂ« eksperimentale "sparse-checkout" dhe njĂ« opsion i ri "—sparse" pĂ«r komandĂ«n "clone".

    MĂ« parĂ«, procesi i klonimit selektiv kryhej pĂ«rmes specifikimit filtrave pĂ«r tĂ« pĂ«rjashtuar pĂ«rmbajtjen e tepĂ«rt dhe opsionit "—no-checkout" pĂ«r tĂ« çaktivizuar plotĂ«simin e skedarĂ«ve tĂ« mungesĂ«s. Pas kĂ«saj, para se tĂ« kryhej operacioni checkout, kĂ«rkohej aktivizimi i konfigurimit core.sparseCheckout dhe pĂ«rcaktimi nĂ« skedarin .git/info/sparse-checkout tĂ« listĂ«s sĂ« shablloneve tĂ« rrugĂ«ve qĂ« pĂ«rjashtohen. PĂ«r shembull, pĂ«r tĂ« klonuar pa blobet dhe pĂ«r tĂ« ndaluar nxjerrjen e skedarĂ«ve nga katalogĂ«t e thellĂ«sive 2 dhe mĂ« shumĂ«, mund tĂ« ekzekutohej:

    git clone —filter=blob:none —no-checkout /your/repository/here repo
    $ cd repo
    $ cat >.git/info/sparse-checkout <EOF
    /*
    !/*
    EOF
    $ git config core.sparseCheckout 1
    $ git checkout .

    Komanda e re "git sparse-checkout" e lehtëson ndjeshëm punën dhe e redukton procesin e organizimit të punës me një depo të paplotë në komandat:

    git clone —filter=blob:none —sparse /your/repository/here repo
    git sparse-checkout set /path/to/check/out

    Komanda sparse-checkout lejon vendosjen e listës së rrugëve për checkout (set) pa konfiguruar manualisht .git/info/sparse-checkout, si dhe të nxjerrë listën aktuale të rrugëve (list) dhe të aktivizojë ose çaktivizojë checkout-ët e pjesshëm (enable/disable).

    Për optimizimin e punës me depo shumë të mëdha dhe lista shabllonesh ofrohet konfigurimi "git config core.sparseCheckoutCone«, e cila kufizon shabllonet e lejuara (në vend të shablloneve të rastit .gitignore, mund të caktohen të gjitha rrugët dhe të gjitha skedarët në një nënkatalog të caktuar që duhet të nxirren). Për shembull, nëse në një depo të madhe ekziston një katalog «A/B/C» dhe të gjitha punët përqendrohen në nënkatalogun «C», atëherë duke aktivizuar modin sparseCheckoutCone, komanda «git sparse-checkout set A/B/C» do të nxjerrë përmbajtjen e «C» plotësisht, por nga «A» dhe «B» do të nxjerrë vetëm pjesët e nevojshme për të punuar me «C».

  • Nga dokumentacioni («git rebase -h») janĂ« hequr tĂ« gjitha pĂ«rmendjet e opsionit «—preserve-merges», i cili Ă«shtĂ« shpallur i vjetruar dhe nĂ« vend tĂ« tij, pĂ«r tĂ« transferuar njĂ« grup commit-esh duhet tĂ« pĂ«rdoret «git rebase —rebase-merges«.
  • PĂ«r tĂ« pĂ«rmirĂ«suar lexueshmĂ«rinĂ« e mesazheve tĂ« patch-Ă«ve, tĂ« dĂ«rguara nĂ« listat e shpĂ«rndarjes, Ă«shtĂ« shtuar opsioni «git format-patch —cover-from-description subject», duke treguar se tema e letrĂ«s shoqĂ«ruese pĂ«r grupin e patch-eve pĂ«rdor paragrafi e parĂ« nga pĂ«rshkrimi i degĂ«s.
  • ËshtĂ« implementuar mbĂ«shtetje pĂ«r pĂ«rdorimin e komandĂ«s «git apply —3way» dhe cilĂ«simit «merge.conflictStyle» («git apply» tani merr parasysh stilin e pĂ«rshkrimit tĂ« konfliktit nga merge.conflictStyle nĂ« rast se Ă«shtĂ« e nevojshme tĂ« zgjidhet njĂ« konflikt pas pĂ«rpjekjes pĂ«r tĂ« aplikuar njĂ« skedar patch nĂ« depo).
  • Kodi pĂ«r pĂ«rcaktimin e funksioneve, i pĂ«rdorur nĂ« operacione si «git diff/grep —show-function/—function-context», Ă«shtĂ« zgjeruar me mbĂ«shtetje pĂ«r pĂ«rcaktimin e kufijve tĂ« funksioneve nĂ« programet nĂ« gjuhĂ«n Elixir.
  • NĂ« «git add», «git commit», «git reset» dhe komandat e tjera Ă«shtĂ« shtuar njĂ« opsion i ri «—pathspec-from-file», qĂ« lejon ngarkimin e njĂ« liste rrugĂ«sh nga njĂ« skedar ose njĂ« kanal hyrĂ«s, nĂ« vend tĂ« renditjes sĂ« tyre nĂ« vijĂ«n e komandĂ«s.
  • ËshtĂ« zgjidhur problemi me pĂ«rcaktimin e rinovimeve nĂ« nivelin e katalogĂ«ve kur shkruhen commit-et. PĂ«rcaktimi nuk funksiononte nĂ« rastin e zhvendosjes sĂ« pĂ«rmbajtjes sĂ« nĂ«nkatalogut nĂ« rrĂ«njĂ«n e depozitĂ«s.
  • NjĂ« implementim fillestar i komandĂ«s sĂ« ripĂ«rshtatur «git add -i» Ă«shtĂ« propozuar, i cili lejon shtimin e pĂ«rmbajtjes sĂ« ndryshuar nĂ« mĂ«nyrĂ« interaktive, i ripĂ«rpunuar nga Perl nĂ« C. NjĂ« ripĂ«rshtatje e ngjashme Ă«shtĂ« duke u bĂ«rĂ« pĂ«r komandĂ«n «git add -p».
  • ËshtĂ« bĂ«rĂ« njĂ« ristrukturim i komandĂ«s «git log —graph», e cila formon njĂ« imazh ASCII tĂ« grafit me historinĂ« e ndryshimeve nĂ« depo. RipĂ«rshtatja ka lejuar pĂ«rmirĂ«simin dhe thjeshtĂ«simin e daljes pa deformimin e strukturĂ«s sĂ« historisĂ«, e cila, pĂ«r shembull, ka zgjidhur problemin e daljes sĂ« vizatimit jashtĂ« gjerĂ«sisĂ« sĂ« rreshtit nĂ« terminal.
  • Opsioni «git log —format=..», qĂ« lejon tĂ« ndryshoni formatin e daljes,
    është zgjeruar me mbështetje për flagjet «l/L» për të printuar vetëm pjesën e adresës email, që tregohet para simbolit «@» (p.sh., e dobishme kur të gjithë zhvilluesit kanë të gjithë email në një domen).
  • NĂ« komandĂ«n «git submodule» Ă«shtĂ« shtuar njĂ« nĂ«nkomandĂ« «set-url».
  • Grupet e testit janĂ« azhurnuar nĂ« kuadĂ«r tĂ« pĂ«rgatitjes pĂ«r kalimin nĂ«
    algoritmin e hash-it SHA-2 në vend të SHA-1.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster