ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

БистСмы управлСния вСрсиями. ПособиС для ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊΠΎΠ² ΠΈ писатСлСй

Π—Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ

Π‘Π°ΠΌ я являюсь студСнтом тСхничСского Π’Π£Π—Π° ΠΈ практичСски постоянно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ (тСкстами, рисунками, Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ), измСняя ΠΈΡ… ΠΏΠΎ Ρ‚Ρ€ΠΈ (Π΄Π΅ΡΡΡ‚ΡŒ, сто) Ρ€Π°Π· Π½Π° дню. ΠŸΠΎΡ€ΠΎΠΉ получаСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΊΠΈ, сдСланныС Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ послСднСй Π½Π΅Π΄Π΅Π»ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ Π² состоянии нСдСльной давности. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ссли ΠΏΡ€Π°Π²ΠΎΠΊ Π±Ρ‹Π»ΠΎ сдСлано Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, Π² этом случаС ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ полсотни ΡƒΠ΄Π°Ρ€ΠΎΠ² ΠΏΠΎ Ctrl+Z. Однако Ссли Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ этой Π½Π΅Π΄Π΅Π»ΠΈ шла Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ активная Ρ€Π°Π±ΠΎΡ‚Π° с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, просто Ρ‚Π°ΠΊ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ статус Β«Π΄ΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈ, сдСланной нСдСлю Π½Π°Π·Π°Π΄Β» Π½Π΅ получится. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° копия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Β«Π΄ΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈΒ», Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Ρ‰Π΅ дСсяток ΠΊΠΎΠΏΠΈΠΉ Β«Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈΒ», Β«Π΄ΠΎ ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈΒ» ΠΈ Β«Π΄ΠΎ ΠΏΡ€Π°Π²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, скорСС всСго, придСтся ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ». Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ практикуСтся ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ. Π”ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ я ΠΈ сам Π΄Π΅Ρ€ΠΆΠ°Π» Π²Π°ΠΆΠ½Ρ‹Π΅ вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ², сохраняя ΠΈΡ… с прСфиксами Β«Π΄Π°Ρ‚Π°_врСмя», ΠΈ, Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹, Π±Ρ‹Π» Π΄ΠΎΠ²ΠΎΠ»Π΅Π½. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠΌ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся простота, нСдостатком – Β«Ρ€Π°Π·Π±ΡƒΡ…Π°Π½ΠΈΠ΅Β» Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ ΠΈ нСудобство использования. И, Ссли с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ (большими ТСсткими дисками ΠΈ 7zip’ом), Ρ‚ΠΎ с нСудобством Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎ с этим ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π‘ΠšΠ’

Π’Ρ‹Ρ€Ρ‹Π²Π°Π΅ΠΌ Π°Π±Π·Π°Ρ† ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ: «БистСма управлСния вСрсиями (ΠΎΡ‚ Π°Π½Π³Π». Version Control System, VCS ΠΈΠ»ΠΈ Revision Control System) – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. БистСма управлСния вСрсиями позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько вСрсий ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΡ€ΠΈ нСобходимости, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠΌ вСрсиям, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° сдСлал Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅Β». ΠŸΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ самой Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ – всС вСрсии статСй со всСми ΠΏΡ€Π°Π²ΠΊΠ°ΠΌΠΈ доступны для изучСния.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, использованиС Π‘ΠšΠ’ Π² ситуации, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ мноТСство вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ² – Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ. К прСимущСствам Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° относятся удобство использования ΠΈ экономия свободного дискового пространства благодаря Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ Π΄Π΅Π»ΡŒΡ‚Π°-ΡΠΆΠ°Ρ‚ΠΈΡŽ (ΠΊΠΎΠ³Π΄Π° ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π΅ сами Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсиях, Π° измСнСния ΠΎΡ‚ вСрсии ΠΊ вСрсии, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ объСм Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…). Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ.

КакиС Π±Ρ‹Π²Π°ΡŽΡ‚ Π‘ΠšΠ’

Π’Π° ΠΆΠ΅ ВикипСдия подсказываСт, Ρ‡Ρ‚ΠΎ Π‘ΠšΠ’ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ распрСдСлСнныС, большиС ΠΈ малСнькиС, с ΠΏΡ€ΠΈΠΌΠΎΡ‡ΠΊΠ°ΠΌΠΈ ΠΈ Π±Π΅Π·. Нас это Π½Π΅ особо интСрСсуСт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, сначала) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π‘ΠšΠ’. Π­Ρ‚ΠΎΡ‚ самый Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈ рассмотрим.
ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС Π‘ΠšΠ’ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π΅ΠΊΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся всС вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ. Π—Π΄Π΅ΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ вСрсии Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡Π°Ρ‰Π΅ всСго опрСдСляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. ВнСсли ΠΌΡ‹, допустим, с дСсяток ΠΌΠ΅Π»ΠΊΠΈΡ… ΠΏΡ€Π°Π²ΠΎΠΊ ΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Π° Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ нашСй Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π’ Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ аналогия с пСриодичСским Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Ctrl+S, с Ρ‚Π΅ΠΌ лишь ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ вСрсии Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. ЕстСствСнно, Ρ‡Ρ‚ΠΎ Β«ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ°Ρ…ΠΎΠΌΒ» Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ занСсти Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ вСрсии сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ большого количСства Ρ„Π°ΠΉΠ»ΠΎΠ². НазываСтся это дСйствиС Β«commitΒ», ΠΈΠ»ΠΈ «фиксация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΒ» ΠΏΠΎ-простому.
Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ ΠΏΠΎ-ΡƒΠΌΠ½ΠΎΠΌΡƒ называСтся Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅) ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ», ΠΈ Π‘ΠšΠ’ Π±ΡƒΠ΄Π΅Ρ‚ Β«ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒΒ» ΠΊΠΎΠ³Π΄Π° ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ/ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ. А благодаря коммСнтариям ΠΏΡ€ΠΈ commit’ах ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‰Π΅ ΠΈ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ для Ρ‡Π΅Π³ΠΎ собствСнно Π΄Π°Π½Π½Ρ‹ΠΉ commit выполняСтся (Β«Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ„Π΅Π½Π΅Ρ‡ΠΊΡƒ Ρ‚ΡƒΠ΄Π°-Ρ‚ΠΎΒ»/Β«ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹ΠΉ кусок ΠΎΡ‚Ρ‚ΡƒΠ΄Π°-Ρ‚ΠΎΒ»).
Когда ΠΆΠ΅ ΠΌΡ‹, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Π° Π±Ρ‹ Π½Π°ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ вСрсии нСдСльной давности, Ρƒ нас имССтся вся история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. И Ρ‚ΡƒΡ‚ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· старого Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ кусочСк ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ – просто ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° старый Ρ„Π°ΠΉΠ» ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅. Если ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π°Π·Π°Π΄ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ со старой вСрсиСй Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ снова ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π‘ΠšΠ’ – ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Ρ€Π°Π½Π½Π΅ΠΉ вСрсии ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ (Β«branchΒ»), сохранив ΠΏΡ€ΠΈ этом всС, ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ Β«ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒΒ», ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ Π² вСрсиях Π½Π° нСдСлю Π½Π°Π·Π°Π΄. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ вСрсий ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° графичСски ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π° – ΠΎΡ‚ Β«ΠΊΠΎΡ€Π½Π΅ΠΉΒ» (Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°) Π΄ΠΎ Β«Π²Π΅Ρ‚Π²Π΅ΠΉΒ» (ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠΊ). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Β«Π²Π΅Ρ‚ΠΊΡƒΒ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ искусствСнно, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… исходных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠΌ Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ Π΄Π²Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ вСрсии – Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌΠΈ Ρ„Π΅Π½Π΅Ρ‡ΠΊΠ°ΠΌΠΈ, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ – Π½Π°Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π² случаС, Ссли Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой тСкстовыС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ (ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ…), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ объСдинСниС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ Π² ΠΎΠ΄Π½Ρƒ – Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ слияниС (Β«mergeΒ»). Π’Π΅ΠΏΠ΅Ρ€ΡŒ прСдставим, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ занимаСтся своСй Ρ‚Π°ΠΊΠΎΠΉ Β«Ρ„Π΅Π½Π΅Ρ‡ΠΊΠΎΠΉΒ». НаличиС ΠΎΠ±Ρ‰Π΅Π³ΠΎ рСпозитория Π² этом случаС сильно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

ΠžΡ‚ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΈΠ»ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠšΠ’

Для ΠΊΠΎΠ³ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ

Π—Π°ΠΊΠΎΠ½Ρ‡Ρƒ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Ρ‚Π΅ΠΌ, с Ρ‡Π΅Π³ΠΎ слСдовало Π±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ – для ΠΊΠΎΠ³ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ? ΠžΡ‚Π²Π΅Ρ‚ прост – для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠšΠ’. МнС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Β«ΠΏΠΎΠ΄ΡΠ°Π΄ΠΈΡ‚ΡŒΒ» Π½Π° Π‘ΠšΠ’ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ писатСля. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈ Π²Ρ‹ – этим Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, сильно ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚Π΅ сСбС Ρ€Π°Π±ΠΎΡ‚Ρƒ.

P. S. ΠŸΠ΅Ρ€Π΅Π½Π΅Ρ Π² Π±Π»ΠΎΠ³ «БистСмы управлСния вСрсиями».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

О систСмах контроля вСрсий

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! Π£ΠΆΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»Π΅ Π² OTUS стартуСт Β«Π‘ΡƒΠΏΠ΅Ρ€-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ ΠΏΠΎ использованию ΠΈ настройкС GITΒ». Π­Ρ‚ΠΎΠΌΡƒ я ΠΈ Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΡΠ²ΡΡ‚ΠΈΡ‚ΡŒ сСгодняшнюю ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

БистСмы контроля вСрсий

БистСма контроля вСрсий являСтся ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго инструмСнтам, Π° инструмСнт ΠΏΡ€ΠΈΠ·Π²Π°Π½ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ класс Π·Π°Π΄Π°Ρ‡. Π˜Ρ‚Π°ΠΊ, систСма контроля вСрсий – это систСма, Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ измСнСния
Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ вСрсии. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π³ΠΈΠ±ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… вСрсий Π² случаС нСобходимости. МоТно ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ измСнСния Ρ„Π°ΠΉΠ»Π°, ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΡ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ помСнял. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ систСмы контроля вСрсий ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для хранСния исходного ΠΊΠΎΠ΄Π°, Π½ΠΎ это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ любого Ρ‚ΠΈΠΏΠ°.

Как Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ²? Π›ΡŽΠ΄ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ инструмСнту ΠΊΠ°ΠΊ систСмы контроля вСрсий Π½Π΅ сразу, Π΄Π° ΠΈ ΠΎΠ½ΠΈ сами Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ старого Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ copy-paste, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ…, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ распрСдСлСнных систСм контроля вСрсий.

Copy-paste

Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ filename_, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ создания ΠΈΠ»ΠΈ измСнСния.

Π”Π°Π½Π½Ρ‹ΠΉ способ являСтся ΠΎΡ‡Π΅Π½ΡŒ простым, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ошибкам: ΠΌΠΎΠΆΠ½ΠΎ случайно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ», ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΈΠ· Ρ‚ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (вСдь ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ пСрСносятся Ρ„Π°ΠΉΠ»Ρ‹ Π² этой ΠΌΠΎΠ΄Π΅Π»ΠΈ).

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ систСма контроля вСрсий

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ систСм контроля вСрсий Π±Ρ‹Π»ΠΎ созданиС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… систСм контроля вСрсий. Они прСдставляли ΠΈΠ· сСбя ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, которая Ρ…Ρ€Π°Π½ΠΈΡ‚ записи ΠΎΠ±ΠΎ всСх измСнСниях Π² Ρ„Π°ΠΉΠ»Π°Ρ….

Одним ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… систСм являСтся систСма контроля вСрсий RCS, которая Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 1985 Π³ΠΎΠ΄Ρƒ (послСдний ΠΏΠ°Ρ‚Ρ‡ Π±Ρ‹Π» написан Π² 2015 Π³ΠΎΠ΄Ρƒ) ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π°Ρ… (ΠΏΠ°Ρ‚Ρ‡ΠΈ), осущСствляя ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий. Набор этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ позволяСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ любоС состояниС Ρ„Π°ΠΉΠ»Π°. RCS поставляСтся с Linux’ΠΎΠΌ.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ систСма контроля вСрсий Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся основноС свойство β€” Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Она ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π΅Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ использования.

ЦСнтрализованная систСма контроля вСрсий

ЦСнтрализованная систСма контроля вСрсий ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ основной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ локальной систСмы контроля вСрсий.

Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ систСмы контроля вСрсий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ СдинствСнный сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит всС вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ². ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ этому сСрвСру, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΈΠ· этого Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм контроля вСрсий Π½Π° протяТСнии ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ являлась стандартом. К Π½ΠΈΠΌ относятся CVS, Subversion, Perforce.

Π’Π°ΠΊΠΈΠΌΠΈ систСмами Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ·-Π·Π° наличия СдинствСнного сСрвСра. Но ΠΏΡ€ΠΈ этом Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сСрвСра ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ возникновСнию Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·Π° Π² Π²ΠΈΠ΄Π΅ этого самого сСрвСра. Π’ случаС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ этого сСрвСра Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ смогут Π²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹. Π‘Π°ΠΌΡ‹ΠΌ Ρ…ΡƒΠ΄ΡˆΠΈΠΌ сцСнариСм являСтся физичСскоС ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ сСрвСра (ΠΈΠ»ΠΈ Π²Ρ‹Π»Π΅Ρ‚ ТСсткого диска), ΠΎΠ½ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€ΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄Π° Π½Π° SVN ΠΏΡ€ΠΎΡˆΠ»Π°, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ…ΠΎΠ΄ β€” ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ Git’Π° ΠΊ SVN’Ρƒ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ SVN позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ сСлСктивный Ρ‡Π΅ΠΊΠ°ΡƒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΊΠ°Ρ‡ΠΊΡƒ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² с сСрвСра. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ использовании монорСпозиториях, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

РаспрСдСлСнная систСма контроля вСрсий

Для устранСния Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ распрСдСлСнныС систСмы контроля вСрсий. Они ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π²Ρ‹ΠΊΠ°Ρ‡Π°Π΅Ρ‚ сСбС вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ замСсто Π²Ρ‹ΠΊΠ°Ρ‡ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ². Если ΡƒΠΌΡ€Π΅Ρ‚ любая копия рСпозитория, Ρ‚ΠΎ это Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ восстановлСна с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° любого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. КаТдая копия являСтся ΠΏΠΎΠ»Π½Ρ‹ΠΌ бэкапом Π΄Π°Π½Π½Ρ‹Ρ….

ВсС ΠΊΠΎΠΏΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π²Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹ΠΌ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ (Π΄Π° ΠΈ являСтся) Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π²ΠΈΠ΄Π° master-master.

К Π΄Π°Π½Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ систСм контроля вСрсий относятся Mercurial, Bazaar, Darcs ΠΈ Git. ПослСдняя систСма контроля вСрсий ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна Π½Π°ΠΌΠΈ Π΄Π°Π»Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Git

Π’ 2005 Π³ΠΎΠ΄Ρƒ компания, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ систСму контроля вСрсий BitKeeper, ΠΏΠΎΡ€Π²Π°Π»Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ с сообщСством Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Linux. ПослС этого сообщСство приняло Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ своСй собствСнной систСмы контроля вСрсий. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ цСнностями Π½ΠΎΠ²ΠΎΠΉ систСмы стали: полная дСцСнтрализация, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, простая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠœΡ‹ рассмотрСли способы ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ систСм контроля вСрсий, обсудили Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнных ΠΏΠ΅Ρ€Π΅Π΄ этими систСмами Π·Π°Π΄Π°Ρ‡, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ прСимущСствах ΠΈ нСдостатках ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…, познакомились с историСй систСмы контроля вСрсий Git.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмы контроля вСрсий?

БистСма контроля вСрсий (Version Control System, VCS) прСдставляСт собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…, ΠΏΡ€ΠΈ нСобходимости ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΡ‚ΠΊΠ°Ρ‚, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° внСс исправлСния ΠΈ Ρ‚.ΠΏ. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрСны Π²ΠΈΠ΄Ρ‹ VCS, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСма контроля вСрсий?

НавСрноС, всСм Π·Π½Π°ΠΊΠΎΠΌΠ° ситуация, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ внСсти измСнСния, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ работоспособный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, создаСтся новая ΠΏΠ°ΠΏΠΊΠ°, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ скорСС всСго Π±ΡƒΠ΄Π΅Ρ‚ β€œΠΠΎΠ²Π°Ρ папка” с Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Π²ΠΈΠ΄Π΅ Π΄Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ нСбольшой ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ, Π² Π½Π΅Π΅ копируСтся рабочая вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΡƒΠΆΠ΅ с Π½ΠΈΠΌ производится Ρ€Π°Π±ΠΎΡ‚Π°. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ количСство Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ возрасти, Ρ‡Ρ‚ΠΎ создаСт трудности Π² вопросС ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии, отслСТивании ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Ρ‚.ΠΏ. Π­Ρ‚Π° ситуация Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ…ΡƒΠ΄ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСма контроля вСрсий, ΠΎΠ½Π° позволяСт ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π΅. VCS отслСТиваСт измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ…, прСдоставляСт возмоТности для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΈ слияниС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, позволяСт ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ исправлСния ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΡ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ измСнСния вносил Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ понятиСм VCS являСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (repository) – ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, измСнСния Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ. Π’ распоряТСнии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° имССтся Ρ‚Π°ΠΊ называСмая β€œΡ€Π°Π±ΠΎΡ‡Π°Ρ копия” (working copy) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ нСпосрСдствСнно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π Π°Π±ΠΎΡ‡ΡƒΡŽ копию Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСриодичСски ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, эта опСрация ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π² Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ внСс Π² свою Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию (такая опСрация называСтся commit) ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ, Π² процСссС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ загруТаСтся послСдняя вСрсия ΠΈΠ· рСпозитория (этот процСсс носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ update).

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ распрСдСлСнныС систСмы контроля вСрсий

БистСмы контроля вСрсий ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹: распрСдСлСнныС ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅.

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы контроля вСрсий

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы контроля вСрсий ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой прилоТСния Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сущСствуСт Π² СдинствСнном экзСмплярС ΠΈ хранится Π½Π° сСрвСрС. Доступ ΠΊ Π½Π΅ΠΌΡƒ осущСствлялся Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ привСсти CVS, Subversion.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

CVS (Concurrent Versions System, БистСма ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… вСрсий) ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… систСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ… ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² ΠΊΠΎΠ½Ρ†Π΅ 80-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ°. Π’ настоящСС врСмя этот ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π΅ развиваСтся, это Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ связано с рядом ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… нСдостатков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСимСнования Ρ„Π°ΠΉΠ»ΠΎΠ², нСэффСктивноС ΠΈΡ… Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, практичСски ΠΏΠΎΠ»Π½ΠΎΠ΅ отсутствиС контроля цСлостности.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Subversion (SVN) – систСма контроля вСрсий, созданная Π½Π° Π·Π°ΠΌΠ΅Π½Ρƒ CVS. SVN Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 2004 Π³ΠΎΠ΄Ρƒ ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. НСсмотря Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ прСимущСства ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с CVS Ρƒ SVN всС-Ρ‚Π°ΠΊΠΈ Π΅ΡΡ‚ΡŒ нСдостатки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слияния Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΈ Ρ‚.Π΄. Π’ Ρ†Π΅Π»ΠΎΠΌ SVN Π±Ρ‹Π» (ΠΈ остаСтся) Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ шагом Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с CVS.

РаспрСдСлСнныС систСмы контроля вСрсий

РаспрСдСлСнныС систСмы контроля вСрсий (Distributed Version Control System, DVCS) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Π΅Π³ΠΎ копию) Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ с Π΄Π°Π½Π½ΠΎΠΉ систСмой. ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (условно), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ измСнСния ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ, с Π½ΠΈΠΌ ΠΆΠ΅ эти Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Π°ΠΊΠΎΠΉ систСмой, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ пСриодичСски ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ свои Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ нСпосрСдствСнно со своСй локальной ΠΊΠΎΠΏΠΈΠ΅ΠΉ. ПослС внСсСния достаточного количСства ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию ΠΎΠ½ΠΈ (измСнСния) ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° сСрвСр. ΠŸΡ€ΠΈ этом сСрвСр, Ρ‡Π°Ρ‰Π΅ всСго, выбираСтся условно, Ρ‚.ΠΊ. Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ DVCS Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ понятия ΠΊΠ°ΠΊ β€œΠ²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ рСпозиториСм”.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ прСимущСство Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, гибкости ΠΎΠ±Ρ‰Π΅ΠΉ систСмы ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ надСТности, благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория. Π”Π²Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстныС DVCS – это Git ΠΈ Mercurial.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

НачнСм с Mercurial, эта систСма прСдставляСт собой ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡƒΡŽ DVCS, которая построСна Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ отсутствуСт понятиС Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этой VCS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ) консольная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° hg. Mercurial ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ всСми возмоТностями систСмы контроля вСрсий, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅, слияниС, синхронизация с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ рСпозиториями. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ большоС количСство ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², срСди Π½ΠΈΡ… Mozilla, OpenOffice, OpenJDK ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π‘Π°ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ написан Π½Π° языкС Python ΠΈ доступСн Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ соврСмСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм (Windows, Mac OS, Linux), Ρ‚Π°ΠΊΠΆΠ΅ сущСствуСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ количСство ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ с графичСским интСрфСйсом для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Mercurial. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠΌ Mercurial Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ распрСдСлСнных систСм контроля вСрсий являСтся Git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π½Π° сСгодняшний дСнь, Π²Ρ‹ΠΈΠ³Ρ€Π°Π» Π³ΠΎΠ½ΠΊΡƒ Π·Π° лидСрство.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Git – распрСдСлСнная систСма контроля вСрсий, разработанная Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ΅ΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ядром ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Linux. Π‘Ρ€Π΅Π΄ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ git, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ядро Linux, Qt, Android. Git свободСн ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU GPL 2 ΠΈ, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Mercurial, доступСн практичСски Π½Π° всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах. По своим Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ возмоТностям git схоТ с Mercurial (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ DVCS), Π½ΠΎ благодаря ряду достоинств (высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ VCS, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс) ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ сообщСству, ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠ΅ΠΌΡƒΡΡ Π²ΠΎΠΊΡ€ΡƒΠ³ этой систСмы, git Π²Ρ‹ΡˆΠ΅Π» Π² Π»ΠΈΠ΄Π΅Ρ€Ρ‹ Ρ€Ρ‹Π½ΠΊΠ° распрСдСлСнных систСм контроля вСрсий. НСобходимо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ нСсмотря Π½Π° Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… систСм ΠΊΠ°ΠΊ git, ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Google, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ свои VCS.

Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° вводная лСкция ΠΏΠΎ систСмам контроля вСрсий. Π’ дальнСйшСм, всС ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ git.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠ±Π·ΠΎΡ€ систСм контроля вСрсий

БистСмы контроля вСрсий стали Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΆΠΈΠ·Π½ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π½ΠΎ ΠΈ всСх людСй, ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ²ΡˆΠΈΡ…ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ управлСния интСнсивно ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΈ ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ сСбС Тизнь. ВслСдствиС этого, появилось большоС число Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ инструмСнты для управлСния вСрсиями. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассмотрСны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярныС ΠΈΠ· Π½ΠΈΡ…, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΈΡ… достоинства ΠΈ нСдостатки.

Для сравнСния Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС систСмы контроля вСрсий: RCS, CVS, Subversion, Aegis, Monoton, Git, Bazaar, Arch, Perforce, Mercurial, TFS.

НачнСм наш ΠΎΠ±Π·ΠΎΡ€ с ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… систСм контроля вСрсий – RCS (Revision Control System – систСма управлСния пСрСсмотрами вСрсий), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ Π² 1985 Π³ΠΎΠ΄Ρƒ. Она ΠΏΡ€ΠΈΡˆΠ»Π° Π½Π° смСну популярной Π² Ρ‚ΠΎ врСмя систСмы контроля вСрсий SCCS (Source Code Control System – систСма управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ).

RCS позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, создавая для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Для тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π΅ всС вСрсии Ρ„Π°ΠΉΠ»Π°, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдняя вСрсия ΠΈ всС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, внСсСнныС Π² Π½Π΅Π΅. RCS Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ хранится Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ вСрсии Ρ„Π°ΠΉΠ»Π°.

Когда измСнСния Π² Ρ„Π°ΠΉΠ» вносит ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… этот Ρ„Π°ΠΉΠ» остаСтся Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ. Они Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· рСпозитория для рСдактирования, ΠΏΠΎΠΊΠ° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Π½Π΅ зафиксируСт измСнСния.

Рассмотрим основныС прСимущСства ΠΈ нСдостатки систСмы контроля вСрсий RCS.

2. Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… частого измСнСния Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

3. Π¨ΠΈΡ€ΠΎΠΊΠΎ распространСна ΠΈ прСдустановлСнна Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ свободно распространяСмых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах.

1. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ‚ измСнСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Ρ‚ΠΎ Π½Π΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ для управлСния вСрсиями Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

2. НС позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» нСсколькими ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.

3. Низкая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с соврСмСнными систСмами контроля вСрсий.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

БистСма контроля вСрсий RCS прСдоставляСт слишком слабый Π½Π°Π±ΠΎΡ€ инструмСнтов для управлСния Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ для ознакомлСния с Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ контроля вСрсий ΠΈΠ»ΠΈ вСдСния нСбольшой истории ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

БистСма управлСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ вСрсиями (Concurrent Versions System) – логичСскоС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ систСмы управлСния пСрСсмотрами вСрсий (RCS), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ Π΅Π΅ стандарты ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ вСрсиями, Π½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ, ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π½ΠΎ ΠΈ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

CVS основана Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎ сСти. ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ сСрвСр Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС, Ссли Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈΠ»ΠΈ трСбуСтся вСсти Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий.

Π Π°Π±ΠΎΡ‚Π° CVS ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ПослСдняя вСрсия ΠΈ всС сдСланныС измСнСния хранятся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ сСрвСра. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡΡΡŒ ΠΊ сСрвСру, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ отличия локальной вСрсии ΠΎΡ‚ послСднСй вСрсии, сохранСнной Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΈ, Ссли Π΅ΡΡ‚ΡŒ отличия, Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ ΠΈΡ… Π² свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠŸΡ€ΠΈ нСобходимости Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈ вносят Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ измСнСния Π² Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. ПослС этого всС измСнСния Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ сСрвСра. CVS, ΠΏΡ€ΠΈ нСобходимости, позволяСт ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ вСсти ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ нСсколькими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ основныС достоинства ΠΈ нСдостатки систСмы управлСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ вСрсиями.

1. НСсколько ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

2. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π° Ρ†Π΅Π»Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

3. ΠžΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… графичСских интСрфСйсов, способных ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ практичСски любой, Π΄Π°ΠΆΠ΅ самый Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ вкус.

4. Π¨ΠΈΡ€ΠΎΠΊΠΎ распространСна ΠΈ поставляСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Linux.

5. ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ тСстовых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· рСпозитория ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния, Π° Π½Π΅ вСсь Ρ„Π°ΠΉΠ» Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.

1. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ всС, привязанныС ΠΊ этому Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, измСнСния.

2. БлоТности ΠΏΡ€ΠΈ Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

3. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ².

4. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° сохраняСтся вся вСрсия Ρ„Π°ΠΉΠ»Π°, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ внСсСнноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.

5. Π‘ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π° сСрвСр ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» всСгда пСрСдаСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.

6. РСсурсоСмкиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ частого обращСния ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, ΠΈ сохраняСмыС ΠΊΠΎΠΏΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ CVS устарСла ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌΠΈ нСдостатками, ΠΎΠ½Π° всС Π΅Ρ‰Π΅ являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых популярных систСм контроля вСрсий ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для управлСния нСбольшими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… создания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вСрсий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ пСриодичСски ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ. CVS ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ шаг Π² освоСнии Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСм контроля вСрсий, Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ ΠΈ соврСмСнным Π²ΠΈΠ΄Π°ΠΌ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Subversion – эта цСнтрализованная систСма управлСния вСрсиями, созданная Π² 2000 Π³ΠΎΠ΄Ρƒ ΠΈ основанная Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр. Она ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ всСми достоинствами CVS ΠΈ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ основныС Π΅Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ (ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Ρ‚.Π΄.). Часто Π΅Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ клиСнтской части – SVN.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Subversion ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с CVS. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ измСнСния ΠΈΠ· рСпозитория ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ ΠΈΡ… с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Если Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, сохранСнных Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ситуации Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π—Π°Ρ‚Π΅ΠΌ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ вносятся измСнСния, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сохраняСтся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ измСнСния, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ:

1. Π€Π°ΠΉΠ» скачиваСтся ΠΈΠ· рСпозитория ΠΈ блокируСтся (запрСщаСтся Π΅Π³ΠΎ скачиваниС ΠΈΠ· рСпозитория).

2. Вносятся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ измСнСния.

3. ЗагруТаСтся Ρ„Π°ΠΉΠ» Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ разблокируСтся (Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π΅Π³ΠΎ скачиваниС ΠΈΠ· рСпозитория Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ).

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ, ΠΈΠ·-Π·Π° простаты ΠΈ схоТСсти Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ с CVS, Π½ΠΎ Π² основном, ΠΈΠ·-Π·Π° своСй ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Subversion с успСхом ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ с CVS ΠΈ Π΄Π°ΠΆΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΅Π΅ вытСсняСт.

Однако, ΠΈ Ρƒ Subversion Π΅ΡΡ‚ΡŒ нСдостатки. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΅Π΅ слабыС ΠΈ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ стороны для сравнСния с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами управлСния вСрсиями.

1. БистСма ΠΊΠΎΠΌΠ°Π½Π΄, схоТая с CVS.

2. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ возмоТностСй CVS.

3. Π Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ графичСскиС интСрфСйсы ΠΈ удобная Ρ€Π°Π±ΠΎΡ‚Π° ΠΈΠ· консоли.

4. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ история измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π΄Π°ΠΆΠ΅ послС ΠΈΡ… пСрСимСнования ΠΈ пСрСмСщСния.

5. Высокая ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠ°ΠΊ с тСкстовыми, Ρ‚Π°ΠΊ ΠΈ с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

6. ВстроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ KDevelop, Zend Studio ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

7. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π·Π΅Ρ€ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ рСпозитория.

8. Π”Π²Π° Ρ‚ΠΈΠΏΠ° рСпозитория – Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

9. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· Apache с использованиСм ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° WebDAV.

10. НаличиС ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° создания ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΈ Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

11. МоТно с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ свойств, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠΉ взаимодСйствиС с систСмой контроля вСрсии.

12. Π¨ΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС позволяСт быстро Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹ΠΌ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-сообщСством.

1. Полная копия рСпозитория хранится Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π² скрытых Ρ„Π°ΠΉΠ»Π°Ρ…, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ достаточно большого объСма памяти.

2. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ², Ссли ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ локально Ρ„Π°ΠΉΠ» ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Π±Ρ‹Π» Π² это ΠΆΠ΅ врСмя ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

3. Π‘Π»Π°Π±ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слияния Π²Π΅Ρ‚ΠΎΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

4. БлоТности с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ… ΠΏΠΎΠΏΠ°Π²ΡˆΠΈΡ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΌ всСгда остаСтся информация ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… измСнСниях Ρ„Π°ΠΉΠ»Π°, ΠΈ нСпрСдусмотрСно Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΡˆΡ‚Π°Ρ‚Π½Ρ‹Ρ… срСдств для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ удалСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ· рСпозитория.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Subversion – соврСмСнная систСма контроля вСрсий, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π°Ρ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ инструмСнтов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π½ΡƒΠΆΠ΄Ρ‹ для управлСния вСрсиями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы контроля. Π’ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ мноТСство рСсурсов посвящСно особСнностям Subversion, Ρ‡Ρ‚ΠΎ позволяСт быстро ΠΈ качСствСнно Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ всС Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° установки, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ subversion Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π² ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΉ Π³ΠΎΠ½ΠΊΠ΅ систСм контроля вСрсий.

Aegis, созданная ΠŸΠΈΡ‚Π΅Ρ€ΠΎΠΌ ΠœΠΈΠ»Π»Π΅Ρ€ΠΎΠΌ Π² 1991 Π³ΠΎΠ΄Ρƒ, являСтся ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ систСмам управлСния вСрсиями. ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π½Π΅ΠΉ производятся Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму Unix. К соТалСнию, Π² Aegis Π½Π΅Ρ‚ встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ сСти, Π½ΠΎ взаимодСйствия ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, ΠΊΠ°ΠΊ NFS, HTTP, FTP.

Основная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Aegis – это способ контроля вносимых Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄ занСсСниСм ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ряд тСстов. И Ссли нововвСдСния Π² исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ проходят тСсты, Ρ‚ΠΎ трСбуСтся Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ тСсты, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ошибки Π² исходном ΠΊΠΎΠ΄Π΅.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄ внСсСниСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Ρ‹ ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, прСдусмотрСна иСрархия доступа ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, основанная Π½Π° систСмС ΠΏΡ€Π°Π² доступа Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ.

ВсС это Π΄Π΅Π»Π°Π΅Ρ‚ использованиС систСмы контроля вСрсий Aegis Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ слоТным, ΠΈ Π΄Π°ΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π° докумСнтация Π½Π΅ сильно это ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚.

Π’Ρ‹Π΄Π΅Π»ΠΈΠΌ основныС достоинства ΠΈ нСдостатки систСмы контроля вСрсий Aegis.

1. НадСТный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ коррСктности Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

2. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ доступа ΠΊ Ρ„Π°Π»Π°ΠΌ рСпозитория, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности.

3. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Π°Ρ докумСнтация.

4. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, сохранСнныС Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

5. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, Ссли отсутствуСт сСтСвой доступ ΠΊ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ.

1. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСтСвого взаимодСйствия.

2. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

3. Π‘Π»Π°Π±Ρ‹Π΅ графичСскиС интСрфСйсы.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Aegis ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΡ‚ использования систСм контроля вСрсий, поэтому Π΅Π΅ нСльзя Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ для ознакомлСния ΠΈΠ»ΠΈ вСдСния Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Однако, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ряд прСимущСств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… спСцифичСских ситуациях, особСнно, ΠΊΠΎΠ³Π΄Π° трСбуСтся ТСсткий ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° качСством Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

БистСма управлСния вСрсиями Monotone.
(monotone.ca)

Monotone – Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° дСцСнтрализованная систСма управлСния вСрсиями, разработанная Π“Ρ€Π΅ΠΉΠ΄ΠΎΠ½ΠΎΠΌ Π₯оэм. Π’ Π½Π΅ΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ сам ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ вСрсий Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ.

Π Π°Π±ΠΎΡ‚Π° с Monotone строится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, создаСтся Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° SQLite, ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡ΠΈ с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ SHA1 (Secure Hash Algorithm 1).

Π—Π°Ρ‚Π΅ΠΌ, ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, всС измСнСния ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² этой Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм контроля вСрсий.

Для синхронизации ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

— Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всСм ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ Π² связкС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ своих Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Monotone.

— Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ, зарСгистрированный Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ со своими ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ простой Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄.

ΠžΠ±ΠΎΠ±Ρ‰ΠΈΠΌ достоинства ΠΈ нСдостатки систСмы контроля вСрсий Monotone.

1. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ понятный Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, схоТий с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Subversion ΠΈ CVS.

2. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ.

3. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Π°Ρ докумСнтация, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰Π°Ρ использованиС систСмы контроля вСрсий.

1. Низкая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

2. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΌΠΎΡ‰Π½Ρ‹Ρ… графичСских ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Однако, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ низкая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ отсутствиС ΠΌΠΎΡ‰Π½Ρ‹Ρ… графичСских ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, сдСлаСт Ρ€Π°Π±ΠΎΡ‚Ρƒ с большими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ нСсколько Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π²Π°ΠΌ трСбуСтся систСма контроля вСрсий для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ слоТных ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Git ΠΈΠ»ΠΈ Mercurial.

Π‘ фСвраля 2002 Π³ΠΎΠ΄Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ядра Linux’а Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ программистов стала ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ систСма контроля вСрсий BitKeeper. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя с Π½Π΅ΠΉ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ Π² 2005 Π³ΠΎΠ΄Ρƒ Π›Π°Ρ€ΠΈ ΠœΠ°ΠΊΠ’ΠΎΠ΅ΠΌ (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ BitKeeper’а) ΠΎΡ‚ΠΎΠ·Π²Π°Π» Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° Linux Π±Π΅Π· ΠΌΠΎΡ‰Π½ΠΎΠΉ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ систСмы контроля вСрсий – Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Одним ΠΈΠ· ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ² ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ оказалась систСма контроля вСрсий Monotine, Π½ΠΎ Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ° Линуса Π½Π΅ устроила Π΅Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π°ΠΊ ΠΊΠ°ΠΊ особСнности ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Monatone Π½Π΅ позволяли Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ 3 апрСля 2005 Π³ΠΎΠ΄Π° Линус приступил ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ собствСнной систСмы контроля вСрсий – Git.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Линусом (Π½Π° Ρ‚Ρ€ΠΈ дня ΠΏΠΎΠ·ΠΆΠ΅), ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ систСмы контроля вСрсий приступил ΠΈ ΠœΡΡ‚Ρ‚ Макал. Π‘Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠœΡΡ‚Ρ‚ Π½Π°Π·Π²Π°Π» Mercurial, Π½ΠΎ ΠΎΠ± этом ΠΏΠΎΠ·ΠΆΠ΅, Π° сСйчас вСрнСмся ΠΊ распрСдСлСнной систСмС контроля вСрсий Git.

Git – это гибкая, распрСдСлСнная (Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ сСрвСра) систСма контроля вСрсий, Π΄Π°ΡŽΡ‰Π°Ρ массу возмоТностСй Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², Π½ΠΎ ΠΈ писатСлям для измСнСния, дополнСния ΠΈ отслСТивания измСнСния «рукописСй» ΠΈ ΡΡŽΠΆΠ΅Ρ‚Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ, ΠΈ учитСлям для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ развития курса Π»Π΅ΠΊΡ†ΠΈΠΉ, ΠΈ администраторам для вСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΈ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… управлСния историСй ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Git, Π΅ΡΡ‚ΡŒ свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ локально ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ вСрсиями. Π—Π°Ρ‚Π΅ΠΌ, сохранСнными Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.

Часто ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ систСмы с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ – это ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ядра Linux’a (http://www.kernel.org).

Π’ этом случаС всС участники ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π΅Π΄ΡƒΡ‚ свои Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ бСспрСпятствСнно ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ обновлСния ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория. Когда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ участниками ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Ρ‹, ΠΎΠ½ΠΈ, послС удостовСрСния Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория Π² коррСктности ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ свои измСнСния Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

НаличиС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΈΠ· строя, Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ восстановлСны ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

Π Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ вСрсиями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Git ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Ρ‚ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ частично ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ, ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Ρ‚ΡŒΡΡ, ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈ Ρ€Π°Π·Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ Π²ΠΎ всС Π½ΠΎΠ²Ρ‹Π΅ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

МоТно Π΄ΠΎΠ»Π³ΠΎ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ возмоТности Git’а, Π½ΠΎ для краткости ΠΈ Π±ΠΎΠ»Π΅Π΅ простого восприятия ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ основныС достоинства ΠΈ нСдостатки этой систСмы управлСния вСрсиями

1. НадСТная систСма сравнСния Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ коррСктности Π΄Π°Π½Π½Ρ‹Ρ…, основанныС Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ SHA1 (Secure Hash Algorithm 1).

2. Гибкая систСма вСтвлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ слияния Π²Π΅Ρ‚ΠΎΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

3. НаличиС локального рСпозитория, содСрТащСго ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ±ΠΎ всСх измСнСниях, позволяСт вСсти ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий ΠΈ Π·Π°Π»ΠΈΠ²Π°Ρ‚ΡŒ Π² Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ измСнСния.

4. Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

5. Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄.

6. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ графичСских ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… быстро ΠΈ качСствСнно вСсти Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git’ом.

7. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π±Π΅Π· Π΄Π΅Π»ΡŒΡ‚Π° компрСссии, Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π­Ρ‚ΠΎ позволяСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ восстановлСния Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π° основу бСрСтся блиТайшая ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°, ΠΈ восстановлСниС ΠΈΠ΄Π΅Ρ‚ ΠΎΡ‚ Π½Π΅Π΅. Если Π±Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ отсутствовали, Ρ‚ΠΎ восстановлСниС Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ часы.

8. Широкая Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ, лСгкая Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈ качСствСнная докумСнтация.

9. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ систСмы позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΅Π΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ спСциализированныС контроля систСмы ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы Π½Π° Π±Π°Π·Π΅ git.

10. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСтСвой доступ с использованиСм ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² http, ftp, rsync, ssh ΠΈ Π΄Ρ€.

1. Unix – ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ отсутствуСт зрСлая рСализация Git, совмСстимая с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами.

3. НС отслСТиваСтся ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, содСрТащими мноТСство нСсвязных Ρ„Π°ΠΉΠ»ΠΎΠ².

4. ΠŸΡ€ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ (ΠΏΠ΅Ρ€Π²ΠΎΠΌ) создании рСпозитория ΠΈ синхронизации Π΅Π³ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, потрСбуСтся достаточно Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя для скачивания Π΄Π°Π½Π½Ρ‹Ρ…, особСнно, Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ большой, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ трСбуСтся ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Git – гибкая, удобная ΠΈ мощная систСма контроля вСрсий, способная ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ нСдостатки постСпСнно ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈ Π½Π΅ приносят ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Если Π²Ρ‹ Π²Π΅Π΄Π΅Ρ‚Π΅ большой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ, ΠΈ Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ссли часто приходится Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Π½Π΅ имСя доступа ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‚Π΅Ρ€ΡΡ‚ΡŒ врСмя ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π»Π΅Ρ‚Π΅ ΠΈΠ· страны Π² страну ΠΈΠ»ΠΈ Π²ΠΎ врСмя ΠΏΠΎΠ΅Π·Π΄ΠΊΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ), ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ измСнСния ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΡ… Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΈ Ρ‚.Π΄.). Git – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² систСм контроля вСрсий.

РаспрСдСлСнная систСма контроля вСрсий Mercurial Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»Π°ΡΡŒ ΠœΡΡ‚Ρ‚ΠΎΠΌ Макалом ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с систСмой контроля вСрсий Git, созданной Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ Линусом.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ, ΠΎΠ½Π° Π±Ρ‹Π»Π° создана для эффСктивного управлСния большими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠΎΠ΄ Linux’ом, Π° поэтому Π±Ρ‹Π»Π° ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с большими рСпозиториями. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ mercurial Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ Windows, Mac OS X ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Unix систСм.

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ систСмы контроля вСрсий написана Π½Π° языкС Python, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ участки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ наибольшСго быстродСйствия, написаны Π½Π° языкС Π‘ΠΈ.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ происходит Π½Π° основС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ SHA1 (Secure Hash Algorithm 1), ΠΎΠ΄Π½Π°ΠΊΠΎ, Ρ‚Π°ΠΊΠΆΠ΅ прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ присвоСния рСвизиям ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ².

Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² git’С, поддСрТиваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π²Π΅Ρ‚ΠΎΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΡ… слияниСм.

Для взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ HTTP, HTTPS ΠΈΠ»ΠΈ SSH.

Рассмотрим основныС достоинства ΠΈ нСдостатки Mercurial.

1. Быстрая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ….

2. ΠšΡ€ΠΎΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°.

3. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСсколькими Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

4. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° Π² ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅.

5. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ конвСртирования Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ вСрсий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ CVS, Subversion, Git, Darcs, GNU Arch, Bazaar ΠΈ Π΄Ρ€.

2. ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² консоли.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для контроля вСрсий ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ВсС это Π΄Π΅Π»Π°Π΅Ρ‚ mercurial достойным ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠΌ git’а.

Bazaar – распрСдСлСнная, свободно распространяСмая систСма контроля вСрсий, разрабатываСмая ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Canonical Ltd. Написана Π½Π° языкС Python ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Linux, Mac OS X ΠΈ Windows.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Git ΠΈ Mercurial, создаваСмых для контроля вСрсий ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Linux, Π° поэтому ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° максимальноС быстродСйствиС ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ числом Ρ„Π°ΠΉΠ»ΠΎΠ², Bazaar ориСнтировался Π½Π° ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ друТСствСнный интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡƒΠΆΠ΅ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ этапС, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠΆΠ΅ появились.

ΠŸΡ€ΠΈΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² (созданиС, объСдинСниС Π²Π΅Ρ‚ΠΎΠΊ ΠΈ Ρ‚.Π΄.), Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ позволяСт ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ экспСримСнты Π±Π΅Π· ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ основной вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ плюс этой систСмС контроля вСрсий Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСпозиториями Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм контроля вСрсий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Subversion ΠΈΠ»ΠΈ Git.

ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ достоинства ΠΈ нСдостатки этой систСмы контроля вСрсий.

1. ΠšΡ€ΠΎΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°.

2. Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный интСрфСйс.

3. ΠŸΡ€ΠΎΡΡ‚Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

4. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСпозиториями Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм контроля вСрсий.

5. ВСликолСпная докумСнтация.

6. Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ графичСский интСрфСйс.

7. ЧрСзвычайная Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ подстроится ΠΏΠΎΠ΄ Π½ΡƒΠΆΠ΄Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

1. Π‘ΠΎΠ»Π΅Π΅ низкая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с git ΠΈ mercurial, Π½ΠΎ эта ситуация постСпСнно исправляСтся.

2. Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ функционирования Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ достаточно большоС количСство ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ всС возмоТности систСмы контроля вСрсий.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

БистСма управлСния вСрсиями Arch.

Arch – распрСдСлСнная систСма контроля вСрсий, созданная Π’ΠΎΠΌΠΎΠΌ Π›ΠΎΡ€Π΄ΠΎΠΌ. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½Π° создавалась для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ CVS, Ρ‡Ρ‚ΠΎ ΠΈΠΌ Π²ΠΏΠΎΠ»Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ.

Arch осущСствляСт Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρ‚.Π΅. ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ скачивания рСпозитория, ΠΊΠΎΠ³Π΄Π° Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°, Π° Ρ‡Π°ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Π½Π΅ успСла Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ возмоТности вСтвлСния вСрсий ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ объСдинСниС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² с сохранСниСм истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ приятныС возмоТности.

НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвиса для сСтСвого рСпозитория ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, ΠΊΠ°ΠΊ FTP, SFTP ΠΈΠ»ΠΈ WebDAV ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Но, ΠΊ соТалСнию, поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ UNIX – систСмами, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Arch ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π°.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Π’Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠ΅ качСства, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ распрСдСлСнным систСмами контроля вСрсий, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ git, mercurial, bazaar, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π΅ΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½ΠΎΠ΅ ΠΈ распространСнноС.

БистСма управлСния вСрсиями Perforce.
(www.perforce.com)

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΎΠ±Π·ΠΎΡ€ систСм контроля вСрсий ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ коммСрчСским ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ. НачнСм с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы контроля вСрсий – Perforce, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Perforce Software.

БистСма Perforce ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ нСсколькими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, создавая для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° свой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Perforce – кроссплатформСнная систСма. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ вСрсии, способныС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Unix, Mac OS X, Microsoft Windows.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмой контроля вСрсий ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ консоль, Ρ‚Π°ΠΊ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ графичСский интСрфСйс.

Π‘Π΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ прСимущСство Perforce’у Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ со мноТСством срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ Ρ‚Π°ΠΊΠΈΠΌΠΈ прилоТСниями, ΠΊΠ°ΠΊ Autodesk 3D Studio Max, Maya, Adobe Photoshop, Microsoft Office, Eclipse, emacs ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

БобствСнно говоря, нСльзя Π½Π°Π·Π²Π°Ρ‚ΡŒ Team Foundation Server (TFC) просто систСмой контроля вСрсий – это Π½Π΅ΠΊΠΎΠ΅ комплСксноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π² состав ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ систСма управлСния вСрсиями, ΠΈ систСма сбора Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ построСния ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

УправляСмый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с TFC прСдставляСт собой Π²Π΅Ρ‚ΠΊΠΈ исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π°Π±ΠΎΡ€Ρ‹ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ элСмСнты. ΠŸΡ€ΠΈ создании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π°Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈΠ»ΠΈ ТСстко Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, Π·Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ развития, ΡƒΡ‡Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

TFC Π»Π΅Π³ΠΊΠΎ интСгрируСтся с Microsoft Excel ΠΈ Microsoft Project, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ созданиС ΠΈ отслСТиваниС элСмСнтов ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π’ качСствС систСмы контроля вСрсий, TFC позволяСт:

— совмСстно ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

— ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΈΡ…;

— ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ доступом ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ;

— ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии;

— ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…;

Для сохранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL Server 2005.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

Для программистов-ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π΅ΠΊ ΠΈΠ»ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… вСтвлСния ΠΈ создания мноТСства вСрсий, Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Subversion.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *