ИзданиС Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° ΠΈΠ·Π²ΠΎΡ€ΠΎΡ‚ Π½Π° Git 2.38

НајавСно Π΅ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° систСмот Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° дистрибуирани ΠΈΠ·Π²ΠΎΡ€ΠΈ Git 2.38. Git Π΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°Ρ˜ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½ΠΈΡ‚Π΅, сигурни ΠΈ со високи пСрформанси систСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π²Π΅Ρ€Π·ΠΈΠΈ, кој ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° флСксибилни Π½Π΅Π»ΠΈΠ½Π΅Π°Ρ€Π½ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜Π½ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ засновани Π½Π° Ρ€Π°Π·Π³Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅. Π—Π° Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ‚Π΅Ρ‚ Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ отпорност Π½Π° Ρ€Π΅Ρ‚Ρ€ΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΈΠΌΠΏΠ»ΠΈΡ†ΠΈΡ‚Π½ΠΎ Ρ…Π°ΡˆΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ†Π΅Π»Π°Ρ‚Π° ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π° сС користи Π²ΠΎ сСкоС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅; исто Ρ‚Π°ΠΊΠ° Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС сСртифицираат ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ ΠΎΠ·Π½Π°ΠΊΠΈ ΠΈ обврски со Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π½ΠΈ потписи Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅.

Π’ΠΎ спорСдба со ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, Π½ΠΎΠ²Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡˆΠ΅ 699 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ со учСство Π½Π° 92 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ, ΠΎΠ΄ ΠΊΠΎΠΈ 24 учСствуваа Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π·Π° ΠΏΡ€Π² ΠΏΠ°Ρ‚. Π“Π»Π°Π²Π½ΠΈΡ‚Π΅ ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Π“Π»Π°Π²Π½Π°Ρ‚Π° структура ја Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° β€žΡΠΊΠ°Π»Π°Ρ€β€œ, Ρ€Π°Π·Π²ΠΈΠ΅Π½Π° ΠΎΠ΄ Microsoft Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π°. Алатката ΠΏΡ€Π²ΠΈΡ‡Π½ΠΎ бСшС напишана Π²ΠΎ C#, Π½ΠΎ git Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π²ΠΎ C. Новата Π°Π»Π°Ρ‚ΠΊΠ° сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π° ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° git со Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ стандардно ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ поставки ΠΊΠΎΠΈ Π²Π»ΠΈΡ˜Π°Π°Ρ‚ Π½Π° пСрформанситС ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со ΠΌΠ½ΠΎΠ³Ρƒ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π° сС користи скалар сС ΠΏΡ€ΠΈΠΌΠ΅Π½ΡƒΠ²Π°:
    • Π”Π΅Π»ΡƒΠΌΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°ΡšΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° со нСцСлосна копија ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ.
    • Π’Π³Ρ€Π°Π΄Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° слСдСњС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм (FSMonitor), кој Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π±Π΅Π· ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½ΠΈΠ· Ρ†Π΅Π»ΠΈΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ.
    • ИндСкси ΠΊΠΎΠΈ ΠΏΠΎΠΊΡ€ΠΈΠ²Π°Π°Ρ‚ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ (ΠΌΡƒΠ»Ρ‚ΠΈ-ΠΏΠ°ΠΊΠ΅Ρ‚).
    • commit-graph Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ со commit graph индСкс ΡˆΡ‚ΠΎ сС користи Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° пристапот Π΄ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Π·Π°Π΄ΠΎΠ»ΠΆΡƒΠ²Π°ΡšΠ΅.
    • ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π²ΠΎ Π·Π°Π΄Π½ΠΈΠ½Π° Π·Π° ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° структура Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ Π²ΠΎ Π·Π°Π΄Π½ΠΈΠ½Π°, Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° сСсија (Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° сС Π²Ρ€ΡˆΠΈ Сднаш Π½Π° час Π·Π° ΠΏΡ€ΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅ Π½Π° свСТи ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ ΠΎΠ΄ ΠΎΠ΄Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΎΡ‚ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° со Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΡ‚ Π·Π° ΠΎΠ±Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ ΠΈ процСсот Π½Π° ΠΏΠ°ΠΊΡƒΠ²Π°ΡšΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ сС стартува сСкоја Π²Π΅Ρ‡Π΅Ρ€).
    • Π Π΅ΠΆΠΈΠΌ β€žsparseCheckoutConeβ€œ, кој Π³ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π° Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈΡ‚Π΅ обрасци ΠΏΡ€ΠΈ Π΄Π΅Π»ΡƒΠΌΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°ΡšΠ΅.
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΎΠΏΡ†ΠΈΡ˜Π° --update-refs Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit rebaseβ€œ Π·Π° Π΄Π° сС Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π°Ρ‚ зависнитС Π³Ρ€Π°Π½ΠΊΠΈ ΠΊΠΎΠΈ сС ΠΏΡ€Π΅ΠΊΠ»ΠΎΠΏΡƒΠ²Π°Π°Ρ‚ со Π³Ρ€Π°Π½ΠΊΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ сС прСмСстуваат, намСсто Π΄Π° ΠΌΠΎΡ€Π° Ρ€Π°Ρ‡Π½ΠΎ Π΄Π° ја ΠΈΡΠΏΠ»Π°ΡœΠ°Ρ‚Π΅ сСкоја зависна Π³Ρ€Π°Π½ΠΊΠ° Π·Π° Π΄Π° сС ΠΏΡ€Π΅Ρ„Ρ€Π»ΠΈΡ‚Π΅ Π½Π° Π±Π°Ρ€Π°Π½ΠΎΡ‚ΠΎ ΠΎΠ±Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅.
  • Ја Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit rmβ€œ ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π½Π° со Π΄Π΅Π»ΡƒΠΌΠ½ΠΈ индСкси.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit mv A Bβ€œ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΌΠ΅ΡΡ‚ΡƒΠ²Π°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ простор со Π΄Π΅Π»ΡƒΠΌΠ½ΠΈ индСкси Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌ β€žΠΊΠΎΠ½ΡƒΡβ€œ Π²ΠΎ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ΅Π½ опсСг ΡˆΡ‚ΠΎ Π³ΠΎ Π½Π΅ΠΌΠ° овој Ρ€Π΅ΠΆΠΈΠΌ.
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΡ‚ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° bitmap Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° со Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° - Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΈΠ·Π±ΠΎΡ€Π½Π° индСксна Ρ‚Π°Π±Π΅Π»Π° со листа Π½Π° ΠΈΠ·Π±Ρ€Π°Π½ΠΈ ΠΎΠ±Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ° ΠΈ Π½ΠΈΠ²Π½ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΡƒΠ²Π°ΡšΠ°.
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit merge-treeβ€œ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° Π½ΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ Π²ΠΎ кој, Π²Ρ€Π· основа Π½Π° Π΄Π²Π΅ спСцифицирани ΠΎΠ±Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ°, сС прСсмСтува Π΄Ρ€Π²ΠΎ со Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΠ΄ ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΎ Π΄Π° сС споСни историитС Π½Π° ΠΎΠ²ΠΈΠ΅ обврски.
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ поставка β€žsafe.barerepositoryβ€œ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° способноста Π΄Π° сС смСстат Π³ΠΎΠ»ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° (ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° ΠΊΠΎΠΈ Π½Π΅ содрТат Ρ€Π°Π±ΠΎΡ‚Π½ΠΎ Π΄Ρ€Π²ΠΎ) Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π½Π° git. Кога Π΅ поставСно Π½Π° β€žΠ΅ΠΊΡΠΏΠ»ΠΈΡ†ΠΈΡ‚Π½ΠΎβ€œ, ќС Π±ΠΈΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС Ρ€Π°Π±ΠΎΡ‚ΠΈ со Π³ΠΎΠ»ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π»ΠΎΡ†ΠΈΡ€Π°Π½ΠΈ само Π²ΠΎ Π³ΠΎΡ€Π½ΠΈΠΎΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ. Π—Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° поставитС Π³ΠΎΠ»ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π²ΠΎ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ, користСтС ја врСдноста β€žΡΠΈΡ‚Π΅β€œ.
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit grepβ€œ ја Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° β€ž-mβ€œ (β€žβ€”max-countβ€œ), која Π΅ слична Π½Π° ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° со истото ΠΈΠΌΠ΅ Π²ΠΎ GNU grep ΠΈ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½ΠΈ ΡΠΎΠ²ΠΏΠ°Ρ“Π°ΡšΠ°.
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žls-filesβ€œ ја ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° β€ž--formatβ€œ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΈΠ·Π»Π΅Π·Π½ΠΈΡ‚Π΅ полиња (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡ‚Π΅ ΠΈΠ·Π»Π΅Π· Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚, Ρ€Π΅ΠΆΠΈΠΌΠΈ ΠΈΡ‚Π½.).
  • Π’ΠΎ β€žgit cat-fileβ€œ, ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° содрТината Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈΡ‚Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° сС Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ врскитС Π½Π° Π°Π²Ρ‚ΠΎΡ€-Π΅-ΠΏΠΎΡˆΡ‚Π° Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° со ΠΌΠ°ΠΏΠ° Π½Π° ΠΏΠΎΡˆΡ‚Π°.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€