mergiraf - AST-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° тринасочна Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ Git

ОбјавСно Π΅ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ mergiraf 0.4, Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ˜ΡœΠΈ Π΄Ρ€Π°Ρ˜Π²Π΅Ρ€ Π·Π° Git со ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° моТноста Π·Π° тринасочно ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅. ΠœΠ΅Ρ€Π³ΠΈΡ€Π°Ρ„ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° Ρ€Π°Π·Ρ€Π΅ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π°Π·Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ со ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ програмски Ρ˜Π°Π·ΠΈΡ†ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. МоТно Π΅ ΠΈΠ»ΠΈ Π΄Π° сС ΠΏΠΎΠ²ΠΈΠΊΠ° mergiraf ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ Π·Π° Π΄Π° сС справи со ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ сС Ρ˜Π°Π²ΡƒΠ²Π°Π°Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со стандардниот Git ΠΈΠ»ΠΈ Π΄Π° сС Π·Π°ΠΌΠ΅Π½ΠΈ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ΠΎΡ‚ со ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ Git Π·Π° Π΄Π° сС ΠΏΡ€ΠΎΡˆΠΈΡ€Π°Ρ‚ моТноститС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅, Π²Ρ€Π°ΡœΠ°ΡšΠ΅, ΠΏΡ€Π΅Π±Π°Π·ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ†Ρ€Π΅ΡˆΠΈ. ΠšΠΎΠ΄ΠΎΡ‚ сС дистрибуира ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° GPLv3. Новата Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π΄ΠΎΠ΄Π°Π²Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Ρ˜Π°Π·ΠΈΡ†ΠΈΡ‚Π΅ Python, TOML, Scala ΠΈ Typescript, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° пСрформанситС.

ΠŸΠΎΠ΄ΠΎΠ»Ρƒ Π΅ Π΄Π΅Ρ‚Π°Π»Π΅Π½ опис Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈ со помош Π½Π° ΠΌΠ΅Ρ€Π³ΠΈΡ€Π°Ρ„:

Π‘ΠΎΡ„Ρ‚Π²Π΅Ρ€ΠΎΡ‚ Π΅ ΠΎΠ΄Π»ΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° исклучитСлно слоТСн систСм. Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΡ‚Π΅ систСми ΠΈΠΌΠ°Π°Ρ‚ Π΅Π΄Π½ΠΎ Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎ - Ρ‚ΠΈΠ΅ сС ΠšΠžΠœΠŸΠ›Π•ΠšΠ‘ΠΠ˜ - ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Ρ‚Π΅ слоТСното ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ ΡˆΡ‚ΠΎ сакатС Π΄Π° сС случи ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΎ. НамСсто Ρ‚ΠΎΠ°, ΠΎΠ²ΠΈΠ΅ систСми сС Ρ€Π°Π·Π²ΠΈΠ²Π°Π°Ρ‚ со Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Ρ‡Π΅ΠΊΠΎΡ€ ΠΏΠΎ Ρ‡Π΅ΠΊΠΎΡ€, ΠΈ сСкоја ΠΌΡƒΡ‚Π°Ρ†ΠΈΡ˜Π° Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ тСстирана Π²ΠΎ сСкоја Ρ„Π°Π·Π°. Π—Π° Π΄Π° сС постигнС ΠΎΠ²Π°, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° Π΅ Π΄ΠΎΠ±Ρ€ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π° структура ΠΈ соодвСтни Π°Π»Π°Ρ‚ΠΊΠΈ. Π•Π²ΠΎΠ»ΡƒΡ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° кој Π±ΠΈΠ»ΠΎ комплСксСн систСм ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ·ΡƒΠ΅Π»ΠΈΠ·ΠΈΡ€Π° ΠΊΠ°ΠΊΠΎ насочСно Π΄Ρ€Π²ΠΎ, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ΠΊΠΎΡ€Π΅Π½ΠΎΡ‚ Π΅ ΠΏΡ€Π°Π·Π΅Π½ сСт Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ сСкој јазол - освСн ΠΊΠΎΡ€Π΅Π½ΠΎΡ‚ - Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΌΡƒΡ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π».

Π’ΠΎ контСкст Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅, сСкој јазол сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° β€žΠ²Π΅Ρ€Π·ΠΈΡ˜Π°β€œ, ΡˆΡ‚ΠΎ прСтставува спСцифичСн сСт Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π°Π½Ρ‚ΠΈ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. БСкоја ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π° ΠΎΠ²Π° мноТСство сС смСта Π·Π° ΠΌΡƒΡ‚Π°Ρ†ΠΈΡ˜Π°, Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ˜ΡœΠΈ Ρ€Π°Π± Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ насочСн Π°Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π΅Π½ Π³Ρ€Π°Ρ„ΠΈΠΊ. ОвиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сС ΠΈΠ½Ρ…Π΅Ρ€Π΅Π½Ρ‚Π½ΠΎ апстрактни; Ρ‚ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π΅ Π³ΠΈ ΠΎΠ΄Ρ€Π°Π·ΡƒΠ²Π°Π°Ρ‚ Π½Π°Ρ‡ΠΈΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π°Ρ‚ Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΈΡ‚Π΅ систСми, Ρ‚ΡƒΠΊΡƒ дСмонстрираат ΠΊΠ°ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈΡ‚Π΅ Π°Π³Π΅Π½Ρ‚ΠΈ ја ΠΏΠ΅Ρ€Ρ†ΠΈΠΏΠΈΡ€Π°Π°Ρ‚ корисноста Π½Π° Ρ‚ΠΈΠ΅ систСми. Π—Π° Π΄Π° Π³ΠΈ ΠΏΡ€Π΅Π²Π΅Π΄Π΅Ρ‚Π΅ ΠΈΠ΄Π΅ΠΈΡ‚Π΅ Π²ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΈΠΎΡ‚ свСт, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ засукатС Ρ€Π°ΠΊΠ°Π²ΠΈΡ‚Π΅ ΠΈ Π΄Π° сС Π½ΡƒΡ€Π½Π΅Ρ‚Π΅ Π²ΠΎ *Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ* Π΄Π΅Ρ‚Π°Π»ΠΈ Π½Π° ниско Π½ΠΈΠ²ΠΎ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° ΠΈΠ·Ρ€Π°Π·Π°Ρ‚ ΠΈ Π΄Π° ΠΎΠ±Ρ˜Π°ΡΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅. Π’ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° софтвСр, ΠΎΠ²ΠΈΠ΅ ниско Π½ΠΈΠ²ΠΎ ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС прСтставСни со ΠΈΠ·Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄.

Π—Π° постСпСно Π΄Π° Π³ΠΎ Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π½ΠΈΠ²Π½ΠΈΠΎΡ‚ ΠΈΠ·Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π²ΠΎ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° ΡˆΡ‚ΠΎ Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° посакуваното ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅, ΠΈ Π΄Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π°Ρ‚ ΠΊΠ°ΠΊΠΎ дошлС Ρ‚Π°ΠΌΡƒ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ја прСтставуваат Π½ΠΈΠ²Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π²ΠΎ смисла Π½Π° снимки ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Π‘Π½ΠΈΠΌΠΊΠ°Ρ‚Π° прСтставува спСцифична ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ‚ со ситС Π΄Π΅Ρ‚Π°Π»ΠΈ Π½Π° ниско Π½ΠΈΠ²ΠΎ, Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚ΠΎΡ‚ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ прСтставува ΠΏΡ€Π΅ΠΌΠΈΠ½ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ снимкитС. Π’ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎ, снимкитС сС создаваат ΠΎΠ΄ Π΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ мноТСства Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π½Π° Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΎΠ²ΠΈΠ΅ снимки скоро сСкогаш сС ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈ Π΄Π΅ΠΊΠ° Π³ΠΈ ΠΏΡ€Π°Π²Π°Ρ‚ сСтовитС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΡˆΡ‚ΠΎ Π³ΠΈ создалС, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ‚Π΅ чСсто сС користат Π½Π°ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‡Π½ΠΎ.

ПонСкогаш ΠΈΠΌΠ° снимки Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈ ΠΊΠ°ΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Ρ‚Ρ€Π°Π½Π·ΠΈΡ†ΠΈΠΈ - ΠΎΠ±Π²Ρ€Π·Π½ΠΈΡ†ΠΈ Π·Π° ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅. ВСшко Π΅ Π΄Π° сС Ρ€Π°Π±ΠΎΡ‚ΠΈ со Π½ΠΈΠ², ΠΏΠ° ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС ΠΈΠ·Π±Π΅Π³Π½ΡƒΠ²Π°Π°Ρ‚. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈΡ‚Π΅ систСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Git, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ ΠΌΠ½ΠΎΠ³Ρƒ основни способности Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Ρ€Π°Π·Π²ΠΎΡ˜Π½ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ. Π’ΠΈΠ΅ ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Π°Ρ‚ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ снимки ΠΊΠ°ΠΊΠΎ насочСни Π°Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ, Π΄Π° Π³ΠΈ ΠΏΡ€ΠΈΠ±Π΅Π»Π΅ΠΆΠ°Ρ‚ со ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΏΡ€Π΅Ρ€Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ ΠΏΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π°.

Оваа функционалност ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ°Ρ‚ сСмантички Π·Π½Π°Ρ‡Π°Ρ˜Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚, ΡˆΡ‚ΠΎ Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π·Π° ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°ΡšΠ΅ Π½Π° ΠΏΡ€Π°ΡˆΠ°ΡšΠ° ΠΊΠ°ΠΊΠΎ β€žΠ—ΠΎΡˆΡ‚ΠΎ бСшС Π²ΠΎΠ²Π΅Π΄Π΅Π½ овој Π΄Π΅Ρ‚Π°Π» Π½Π° ниско Π½ΠΈΠ²ΠΎ (Π½Π° ΠΏΡ€. ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°)?β€œ, β€žΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ ΠΊΠΎΠ»ΠΊΠ°Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΎΠ΄ ΠΌΠΎΡ˜ΠΎΡ‚ придонСс Π²ΠΎ овој ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΅ ?β€œ, β€žΠšΠΎΡ˜ бСшС Ρ…Π°ΠΊΠΈΡ€Π°Π½ ΠΎΠ΄ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° ΠΎΠ±Π΅Π»Π΅ΠΆΡƒΠ²Π°Ρ‡ΠΈ ΠΈ ΠΊΠΎΠ³Π°?β€œ, β€žΠšΠΎΡ˜Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π° ниско Π½ΠΈΠ²ΠΎ ја ΠΏΡ€Π΅ΠΊΠΈΠ½Π° ΠΎΠ²Π°Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° (ΠΈΠ°ΠΊΠΎ сС Ρ‡ΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° Π½Π΅ Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ²ΠΌΠ΅ сè!?)β€œ

БистСмитС Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π²Π΅Ρ€Π·ΠΈΠΈΡ‚Π΅ Π³ΠΎ Π½Π°Π΄ΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π°Π°Ρ‚ ΠΎΠ²Π° со ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΎΡ‚ Π½Π° Π³Ρ€Π°Π½ΠΊΠ°, ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ Π½Π° ниско Π½ΠΈΠ²ΠΎ ΡˆΡ‚ΠΎ Сдноставно Π·Π½Π°Ρ‡ΠΈ сосСдСн Π΄Π΅Π» ΠΎΠ΄ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° ниско Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡˆΡ‚ΠΎ Π΅ сСмантички Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎ Π·Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΎΡ‚. Π“Ρ€Π°Π½ΠΊΠΈΡ‚Π΅ ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС користат Π·Π° спСцифични ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° карактСристики, понСкогаш сС создаваат повСќС Π³Ρ€Π°Π½ΠΊΠΈ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ кандидатски ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° истата карактСристика. ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Ρ€Π°Π·Π³Ρ€Π°Π½ΡƒΠ²Π°Ρ‡ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ (ΠΊΠΎΠΈ сС ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ΅Ρ˜Π½ΡΡ‚Ρ€ΠΈΠΌ ΠΈ стандард Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜, ΠΊΠΎΠΈ сС користат насСкадС ΠΈ сСкадС), сСкој ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π΅Π½ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ ΠΌΠΎΠΆΠ΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π° со ΠΌΠ½ΠΎΠ³Ρƒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½ΠΈ Π³Ρ€Π°Π½ΠΊΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚, ΠΎΠ΄ ΠΊΠΎΠΈ сСкоја сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π° ΠΏΠΎ зрСлост ΠΈΠ»ΠΈ ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚. Ова ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ сопствСната ΠΈ Ρ‚ΡƒΡ“Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π±Π΅Π· Π΄Π° создаваат сè Ρ€Π°Ρ‡Π½ΠΎ сСкој ΠΏΠ°Ρ‚.

Π’ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎ, сС создава Π³Π»Π°Π²Π½Π° Π³Ρ€Π°Π½ΠΊΠ° ΡˆΡ‚ΠΎ Π³ΠΎ прСтставува β€žΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½ΠΈΠΎΡ‚β€œ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄, ΠΎΠ΄ кој страничнитС Π³Ρ€Π°Π½ΠΊΠΈ сС Ρ€Π°Π·Π³Ρ€Π°Π½ΡƒΠ²Π°Π°Ρ‚ Π·Π° сСкоја карактСристика, ΠΊΠΎΠΈ Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ (ΠΈΠ΄Π΅Π°Π»Π½ΠΎ ΠΏΠΎ сСкоС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅) сС синхронизираат со Π³Π»Π°Π²Π½Π°Ρ‚Π° Π³Ρ€Π°Π½ΠΊΠ°, Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΈΠΌ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ со Π½Π°Ρ˜Π½ΠΎΠ²Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ‚ ΠΈ истоврСмСно Π³ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π°Ρ‚ карактСристикитС ΡˆΡ‚ΠΎ Ρ‚ΠΈΠ΅ Π³ΠΈ сакаат Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² сС Ρ€Π°Π·Π²ΠΈΠ²Π°Π°Ρ‚ со ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΡˆΡ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π»Π΅Π³ΡƒΠ²Π°Π°Ρ‚ ΠΎΠ΄ активноститС Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΡˆΡ‚ΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ€Π°Π½ΠΎ.

Кога сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π°Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ снимки (ΡˆΡ‚ΠΎ Π΅ Сдноставно ΠΏΡ€ΠΎΠ½Π°ΠΎΡ“Π°ΡšΠ΅ Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΊ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π° Π½Π° сСтови Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΈ Π³ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π°Ρ‚, послСдоватСлно Π²Ρ€Π· Π΄Ρ€ΡƒΠ³Π°, ΠΎΠ²Π°Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π° сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° rebase, ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π΅ рСчиси ΠΊΠ°ΠΊΠΎ rebase, Ρ‚ΠΎΠ° само Π³ΠΎ структурира ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ ΠΏΠΎΠΈΠ½Π°ΠΊΡƒ, ΠΊΠ°ΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° ΡˆΡ‚ΠΎ ΠΈΠΌ Π΅ Π½Π΅Π·Π³ΠΎΠ΄Π½ΠΎ Π΄Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π°Ρ‚, ΠΏΠ° сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π°Π°Ρ‚ Π΄Π° Π³ΠΈ Π½Π°ΠΏΡƒΡˆΡ‚Π°Ρ‚ ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ°Ρ‚Π° Π²ΠΎ корист Π½Π° ΠΏΡ€Π΅Π±Π°Π·ΠΎΠ²ΠΈΡ‚Π΅) сС ΠΏΠΎΡ˜Π°Π²ΡƒΠ²Π°Π°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈΡ‚Π΅ систСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π²Π΅Ρ€Π·ΠΈΠΈ (VCS) користат Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΈ Сдноставно Π³ΠΈ Π΄Π΅Π»Π°Ρ‚ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈ, ја Ρ‚Ρ€Π΅Ρ‚ΠΈΡ€Π°Π°Ρ‚ сСкоја линија ΠΊΠ°ΠΊΠΎ Π·Π½Π°ΠΊ ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ Π½ΠΈΠ²Π½ΠΈ сСквСнци, Π° ΠΏΠΎΡ‚ΠΎΠ° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° Π΄Π° Π³ΠΈ ΡΠΏΠΎΡ˜Π°Ρ‚ ΡˆΡ‚ΠΎ Π΄ΠΎΠ°Ρ“Π°Π°Ρ‚ ΠΎΠ΄ Π±ΠΈΠΎΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π°.

Π—Π° ΠΆΠ°Π», ΠΎΠ²Π° ΠΏΡ€Π΅Ρ‚ΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ линија-ΠΏΠΎ-линија Π½Π° ΠΈΠ·Π²ΠΎΡ€Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π΅ΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²Π° врска со Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° содрТина. НСговата СдинствСна прСдност Π΅ ΡˆΡ‚ΠΎ Π΅ Сдноставна ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·Π°Π»Π½Π°. НСдослСдноста Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ, ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ ΠΈΠ·Π²ΠΎΡ€ Π½Π° Π³Π»Π°Π²ΠΎΠ±ΠΎΠ»ΠΊΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅. Π Π΅ΡˆΠ°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ Π±Π°Ρ€Π° ΠΎΠ΄ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΎΡ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡƒΡ‡ΠΈ Π΄Π²Π΅Ρ‚Π΅ Π²Π΅Ρ€Π·ΠΈΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚, Π½Π΅ само Π΄Π΅Π»ΠΎΠ²ΠΈΡ‚Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ ΠΎΠ΄ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ Π·Π° спорСдба линија-ΠΏΠΎ-линија ΠΊΠ°ΠΊΠΎ β€žΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚ΠΈβ€œ ΠΈΠ»ΠΈ β€žΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½ΠΈβ€œ, Ρ‚ΡƒΠΊΡƒ ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΈ Ρ†Π΅Π»ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΎΡ‚ ΠΌΠΎΡ€Π° Π΄Π° Π³ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, Ρ€Π°Ρ‡Π½ΠΎ Π΄Π° Π³ΠΎ напишС споСниот ΠΊΠΎΠ΄ ΠΈ Π΄Π° Π³ΠΈ Ρ€Π΅ΡˆΠΈ ситС нСдослСдности. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ стануваат ΡƒΡˆΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠ³Π° Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° линија ΠΏΠΎ линија ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎ Π³ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΡˆΡ‚ΠΎ чСсто сС случува со Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π²ΠΊΠ»ΡƒΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ Ρ‚Ρ€ΠΈΠ²ΠΈΡ˜Π°Π»Π½ΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Ρ€Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚. Ако послСдоватСлнитС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС ΠΏΡ€ΠΈΠΌΠ΅Π½Π°Ρ‚ Π½Π° Ρ€Π°Ρ‡Π½ΠΎ споСниот ΠΊΠΎΠ΄, ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° станува цСлосСн ΠΊΠΎΡˆΠΌΠ°Ρ€. И ΠΏΠΎΠΊΡ€Π°Ρ˜ уТаснитС случаи, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ линија-ΠΏΠΎ-линија Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ‚ Π΄Π΅Π» ΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, особСно Π°ΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π°Π°Ρ‚ Π΄Π° Π½Π΅ ΠΌΡƒ ΠΏΡ€Π°Π²Π°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π•Π΄Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ Π²Π°ΠΊΠ²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π΅ Π΄Π° сС Π±Π°Ρ€Π° Π΄Π° сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π°Π°Ρ‚ ΠΈΠ·Π²ΠΎΡ€Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ со Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° ΠΊΠ°Π½ΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Ρ†Ρ€Π½Π°Ρ‚Π° боја.

Π‘Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°, ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° уТасни случаи (ΠΈ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ, Π½Π΅ само Π·Π° Π½ΠΈΠ², Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ линија ΠΏΠΎ линија Π΅ хСуристички, ΠΌΠΎΠΆΠ΅ Ρ‚Ρ€ΠΈΠ²ΠΈΡ˜Π°Π»Π½ΠΎ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠΊΡ€ΡˆΠ΅Π½ ΠΊΠΎΠ΄, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π΄Π΅Π½ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π» ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°, Π° Π΄Ρ€ΡƒΠ³ Π²ΠΎ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ напиша ΠΏΠ°Ρ€Ρ‡Π΅ Π½ΠΎΠ² ΠΊΠΎΠ΄ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја Ρ‚Π°Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π½Π΅ΠΌΠ° Π΄Π° ΠΈΠΌΠ° ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅/Ρ€Π΅Π±Π°Π·ΠΈΡ€Π°ΡšΠ΅ ΠΎΠ²Π΄Π΅, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ ќС станС Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½) - ΠΎΠ²Π° Π΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΠΎΡ‚ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ΅Π½ ΠΌΠΎΠ΄Π΅Π».

И ΠΏΠΎΠΊΡ€Π°Ρ˜ Ρ„Π°ΠΊΡ‚ΠΎΡ‚ Π΄Π΅ΠΊΠ° ΠΈΡΡ‚Ρ€Π°ΠΆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ ΠΎΠ²Π°Π° област Ρ‚Ρ€Π°Π΅ ΠΎΠΊΠΎΠ»Ρƒ 30 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π°ΡˆΠ΅ со создавањС Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΊΠΎΠΌΠ΅Ρ€Ρ†ΠΈΡ˜Π°Π»Π½ΠΈ ΠΊΠΎΠΌΠ΅Ρ€Ρ†ΠΈΡ˜Π°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ, ΠΎΠ²Π° ΠΈΡΡ‚Ρ€Π°ΠΆΡƒΠ²Π°ΡšΠ΅ Π΄ΠΎ Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π° Π½Π΅ бСшС ΠΏΡ€Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΎ Π²ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. ΠΠ°Ρ˜Π³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ‚ Π΄Π΅Π» ΠΎΠ΄ софтвСрскитС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π° со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ ΠΏΠΎΡ‡Π½Π°Π° Π΄Π° сС Ρ€Π°Π·Π²ΠΈΠ²Π°Π°Ρ‚ Π²ΠΎ Ρ€Π°Π½ΠΈΡ‚Π΅ 2010-Ρ‚ΠΈ, ΠΈ Π±Π΅Π° фокусирани Π³Π»Π°Π²Π½ΠΎ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Јава.

ΠΠ°Ρ˜ΠΈΡΡ‚Π°ΠΊΠ½Π°Ρ‚Π°Ρ‚Π° бСсплатна ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΎΠ΄ Ρ‚ΠΎΡ˜ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, GumTree, Π΅ создадСна ΠΎΠ΄ истраТувач со акадСмско ΠΏΠΎΡ‚Π΅ΠΊΠ»ΠΎ, напишана Π½Π° Java, ΠΈΠΌΠ° своја апстрактна Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½Π° прСтстава која ΡˆΡ‚ΠΎ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄ΠΈ Π½Π° Ρ‡ΡƒΠ²Π°Ρ€ΠΎΡ‚ Π½Π° Π΄Ρ€Π²Ρ˜Π° ΠΈ ΠΈΠΌΠ° заднински засновани Π½Π° дрвосСдавач ΠΈ засновани Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° ΠΏΠ°Ρ€ΡΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΈΠ·Π²ΠΎΡ€ΠΎΡ‚ ΠΊΠΎΠ΄ Π²ΠΎ апстрактни прСтстави. Овој систСм ΠΌΠΎΠΆΠ΅ само Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° (Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π΄Π½Π΅Π²Π½ΠΈΠΊ Π·Π° тСкстуални настани; исто Ρ‚Π°ΠΊΠ° постои ΠΈ API ΡˆΡ‚ΠΎ лСсно ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ²ΠΈΠΊΠ° ΠΎΠ΄ кој Π±ΠΈΠ»ΠΎ јазик ΡˆΡ‚ΠΎ ΠΈΠΌΠ° врски Π·Π° Java) ΠΈ Π΄Π° Π³ΠΈ Π²ΠΈΠ·ΡƒΠ΅Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅. Π‘Π΅ΠΏΠ°ΠΊ, Π·Π° ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎ ΠΈ Π·Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΎΠ΄ Π½Π΅Π³ΠΎ, Ρ‚ΠΎΠ° Π½Π΅ Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π»ΠΈΠ²ΠΎ Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΊΡƒΡ‚ΠΈΡ˜Π°Ρ‚Π° (сСпак, Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ Π΅ Π΄Π΅ΠΊΠ° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ Π·Π° Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π°Ρ‚ ΠΏΡ€Π΅ΠΊΡƒ API).

Помлада ΠΈ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° difftastic Π΅ напишана Π²ΠΎ Rust, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Ρ‡ΡƒΠ²Π°Ρ€ Π½Π° Π΄Ρ€Π²Ρ˜Π° ΠΈ Π΅ фокусирана Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° истакнати Ρ€Π°Π·Π»ΠΈΠΊΠΈ Π²ΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π°. Овој систСм исто Ρ‚Π°ΠΊΠ° Π΅ насочСн ΠΊΠΎΠ½ Π²ΠΈΠ·ΡƒΠ΅Π»ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ ΠΈ Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ Π½Π΅ΠΌΠ° Π·Π° Ρ†Π΅Π» Π΄Π° Π³ΠΈ ΡΠΏΠΎΡ˜ΡƒΠ²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡƒΠ²Π° Π·Π°ΠΊΡ€ΠΏΠΈ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ΠΌΠ΅Ρ€ΠΆΠΈΡ€Π°Ρ„ Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π° сС појави ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ сС Ρ€Π°Π·Π²ΠΈΠ²Π°. Оваа Π°Π»Π°Ρ‚ΠΊΠ°, напишана Π²ΠΎ Rust (21 MiB!), исто Ρ‚Π°ΠΊΠ° сС заснова Π½Π° Ρ‡ΡƒΠ²Π°Ρ€ Π½Π° Π΄Ρ€Π²Ρ˜Π°, кој стана стандард Π·Π° Π³Ρ€Π°ΠΌΠ°Ρ‚ΠΈΡ‡ΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈ Π±Π΅Π· контСкст Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜Π½ΠΈΡ‚Π΅ Π°Π»Π°Ρ‚ΠΊΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ стана LLVM Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ€Π΅ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° ниско Π½ΠΈΠ²ΠΎ. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ своитС ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΈ, mergiraf ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ Ρ€Π°Π·Π»ΠΈΠΊΠΈ, Ρ‚ΡƒΠΊΡƒ Π·Π° автоматско Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ Π·Π° ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅. Под Ρ…Π°ΡƒΠ±Π°Ρ‚Π°, mergiraf користи ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ ΡˆΡ‚ΠΎ сС користи Π²ΠΎ GumTree Π·Π° Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π»Π΅ΠΏΠ΅Π½ΠΊΠΈ, Π° Π·Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ ΡˆΡ‚ΠΎ сС користи Π²ΠΎ spork, ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ Π·Π° структуритС Π½Π° Ρ‡ΡƒΠ²Π°Ρ€ΠΈ Π½Π° Π΄Ρ€Π²Ρ˜Π°.

Π‘Π΅Ρ€ΠΈΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π·Π°ΠΊΡ€ΠΏΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠΌΠ΅Π½Π°Ρ‚ ΠΏΠΎΠ΄ΠΎΡ†Π½Π°, Π·Π° ΠΆΠ°Π», Π½Π΅ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° (Π½ΠΎ Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ Π΅ Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° со ΠΏΠ°Ρ€ΡΠΈΡ€Π°ΡšΠ΅ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° настани Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΎΠ΄ GumTree). Π”Ρ€ΡƒΠ³ Π²Π΅Ρ‚ΡƒΠ²Π°Ρ‡ΠΊΠΈ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ Π±ΠΈ Π±ΠΈΠ» ΠΏΡ€ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ Π½Π΅ ΠΏΡ€Π΅ΠΊΡƒ Π·Π°ΠΊΡ€ΠΏΠΈ, Ρ‚ΡƒΠΊΡƒ ΠΏΡ€Π΅ΠΊΡƒ функционалноста Π·Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° сСрвСритС Π½Π° LSP, ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π²ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ΠΈΠ·ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½Π° само Π·Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°: Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΊ β€žbase.pyβ€œ (Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΡ‡ΠΊΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° линија Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚) foo = 1 def main(): print(foo + 2 + 3) β€ža.pyβ€œ (Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΡ‡ΠΊΠΈ, 2 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈ Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚, намСсто Π΅Π΄Π½Π°, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π·Π° сладолСд сС користи Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π΅ΡšΠ΅ Π·Π° ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠΊΠΈ, сС Π΄ΠΎΠ΄Π°Π²Π° класата β€žbazβ€œ: ΠΎΠ΄ ΡƒΠ²ΠΎΠ· Π½Π° сладолСд ic foo = 1 def main(): ic(foo + 2 + 3) класа baz: def __init__(self): """baz"" "b.py" (ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° "foo" ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π° Π²ΠΎ "bar", ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° со "Ρ†Ρ€Π½Π°" ΠΏΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΡˆΡ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° со Π²ΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ со ΠΏΡ€Π°Π·Π½ΠΈ мСста ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈΡ‚Π΅ сС сСчат): Π»Π΅Π½Ρ‚Π° = 1 Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° main(): ΠΏΠ΅Ρ‡Π°Ρ‚Π΅ΡšΠ΅(Π»Π΅Π½Ρ‚Π° + 2 + 3) Повикај ./mergiraf merge ./base.py ./a.py ./b.py -x a.py -y b.py -s base.py -o ./res.py Π³ΠΎ Π΄Π°Π²Π° слСдниот Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΠ΄ ΡƒΠ²ΠΎΠ· Π½Π° сладолСд ic bar = 1 def main(): ic(bar + 2 + 3) class baz: def __init__ (self): """baz""" (Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π΅ΡšΠ΅ Π·Π° ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠΊΠΈ, сС користи Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° "icecream", ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° "foo" сС ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π° Π²ΠΎ "bar", сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° со "Ρ†Ρ€Π½ΠΎ" ΠΏΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΡˆΡ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° со Π²ΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ β€” отсСчСни ΠΏΡ€Π°Π·Π½ΠΈ мСста ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈ, мСшавина ΠΎΠ΄ Ρ˜Π°Π·ΠΈΡ‡ΠΈΡšΠ° ΠΈ ΠΏΡ€Π°Π·Π½ΠΈ мСста Π·Π° Π²ΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅, Π½ΠΎ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½Π°Ρ‚Π° Ρ„ΠΎΡ€ΠΌΠ°).

НСдостигот Π½Π° Π°Π»Π°Ρ‚ΠΊΠ° Π΅ вСднаш Π²ΠΈΠ΄Π»ΠΈΠ². Π‘Ρ‚Π°Ρ˜Π»ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ .editorconfig, Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ стилот, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΌΠ΅Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ˜Π°Π·ΠΈΡ‡ΠΈΡšΠ° Π²ΠΎ ΠΏΡ€Π°Π·Π½ΠΈ мСста ΠΈ ΠΏΡ€ΠΈΡ„Π°ΡœΠ°ΡšΠ΅ Π½Π° Ρ†Ρ€Π½ΠΈΠΎΡ‚ стил ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ Π²ΠΎ b.py, ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΠ΅Π½ΠΈ со ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ .editorconfig. Π—Π°Ρ‚ΠΎΠ°, Π·Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠ»Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ‚Π°ΠΊΠ²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° ΠΌΠΎΡ€Π° Π΄Π° ΠΈΠΌΠ° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ Π·Π° Π³Π»ΠΎΠ±Π°Π»Π΅Π½ β€žΡΡ‚Π°Π½Π΄Π°Ρ€Π΄Π΅Π½β€œ стил ΠΈ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π° поставкитС ΠΎΠ΄ β€ž.editorconfigβ€œ.

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

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