ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ поставщики систСм управлСния вСрсиями. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅. ДобавляСм Ρ„Π°ΠΉΠ» Ex.txt Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Π”Π°Π»Π΅Π΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΒ». Для добавлСния Ρ„Π°ΠΉΠ»Π° Π² систСму контроля вСрсий трСбуСтся Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ всС». Π€Π°ΠΉΠ» Ex.txt Π΄ΠΎΠ»ΠΆΠ΅Π½ пСрСмСс

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

ЕстСствСнно, поиски Π±Ρ‹Π»ΠΈ Π½Π°Ρ‡Π°Ρ‚Ρ‹ с изучСния Π₯Π°Π±Ρ€Π° - ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ систСмы контроля вСрсий появились Π΅Ρ‰Ρ‘ Π² 1986 Π³ΠΎΠ΄Ρƒ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с соврСмСнными систСмами контроля вСрсий оказались Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ ΠΈ сильно завязанными Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой.

ΠœΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Ρ†Π΅Π»ΠΎΠΌ, Π½ΠΎ Π² нашСй нСбольшой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (4 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°) Ρ„Π°Π½Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой Π½Π΅Ρ‚:).

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой нСэффСктивна?

  1. Π’Ρ€Π°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…. ΠΠ°Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ дольшС, Ρ‡Π΅ΠΌ ΠΊΠ»ΠΈΠΊΠ°Ρ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ.
  2. Π’Ρ€Π°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ синтаксиса Π² эпоху понятных интСрфСйсов ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ дольшС, Ρ‡Π΅ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ графичСскому интСрфСйсу.
  3. Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибки. ΠžΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Π»Π΅Π³Ρ‡Π΅ (чСловСчСский Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ отмСнял).
  4. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ . Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это самый Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ создан для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π·Π°ΠΌΠ΅Π½Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ случаС с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой ΠΌΡ‹ всСгда Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ , ΠΏΠΎ сути, приходится ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΡƒΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ).
К соТалСнию, Π½Π°ΠΌ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ русскоязычного ΠΌΠ°Π½ΡƒΠ°Π»Π° ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с соврСмСнными систСмами контроля вСрсий. Π‘ΠΎΠ±Ρ€Π°Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… статСй ΠΈ англоязычных Π²ΠΈΠ΄Π΅ΠΎ Π½Π° YouTube, ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ своё собствСнноС руководство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅:
  1. Π‘ΡƒΠ΄Π΅Ρ‚ пошаговой инструкций (ΠΏΠΎ Π½Π΅ΠΉ ΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ наши программисты).
  2. Π‘ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΉ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ нСбольшой, Π½ΠΎ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ - Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ систСму контроля вСрсий).
  3. Π‘ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ графичСских интСрфСйсов (ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ см. Π²Ρ‹ΡˆΠ΅).

ВступлСниС

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

Если Π²Ρ‹ Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠ°Π½ΡƒΠ°Π»ΠΎΠ² «Для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²Β», Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈ ΠΏΠΎΠΉΡ‚ΠΈ своим ΠΏΡƒΡ‚Π΅ΠΌ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ подъСма VCS.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ сСрвисы

Для развСртывания VCS (систСмы контроля вСрсий) ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ сСрвисы:
  • Mercurial - кроссплатформСнная распрСдСлСнная систСма управлСния вСрсиями, разработанная для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‡Π΅Π½ΡŒ большими рСпозиториями ΠΊΠΎΠ΄Π°.
  • TortoiseHg - графичСский Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ для систСмы контроля вСрсий Mercurial.
  • Bitbucket - Π²Π΅Π±-сСрвис для хостинга ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΡ… совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, основанный Π½Π° систСмС контроля вСрсий Mercurial ΠΈ Git.

Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ систСма контроля вСрсий – пошаговая инструкция

1. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΈ устанавливаСм ΠΊ сСбС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ TortoiseHg с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта: http://tortoisehg.bitbucket.org/

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° всСх ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ совмСстная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π’ Π΄Π°Π½Π½ΠΎΠΉ инструкции всС шаги настройки ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмой контроля вСрсий Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с использованиСм TortoiseHg вСрсии: 2.10.1 for Windows 64-bit with Mercurial 2.8.1.

2. РСгистрируСмся Π² Π²Π΅Π±-сСрвисС Bitbucket: https://bitbucket.org/
Π’Π΅ΡΡŒ процСсс рСгистрации сводится ΠΊ заполнСнию ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (Username, Email ΠΈ Ρ‚.Π΄.) ΠΈ подтвСрТдСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ рСгистрации email-адрСса Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Confirm this email addressΒ» Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ послС рСгистрации письмС.

Π Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² сСрвисС Bitbucket потрСбуСтся Ρ‚Π°ΠΊΠΆΠ΅ всСм участникам вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². К Π²Π΅Π»ΠΈΠΊΠΎΠΌΡƒ ΡΡ‡Π°ΡΡ‚ΡŒΡŽ стартапов Π² Π΄Π°Π½Π½ΠΎΠΌ сСрвисС Π΅ΡΡ‚ΡŒ бСсплатный Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с 5-ю ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ увСличСния максимального числа Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° бСсплатном Ρ‚Π°Ρ€ΠΈΡ„Π΅ Π΄ΠΎ 8 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

Π‘ ΠΏΠΎΠ»Π½Ρ‹ΠΌ списком Ρ‚Π°Ρ€ΠΈΡ„ΠΎΠ² Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ, пройдя ΠΏΠΎ ссылкС: https://bitbucket.org/plans

3. Зайдя Π² ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π² сСрвисС Bitbucket, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сразу ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ язык интСрфСйса вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° русский.

Для этого Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π» Β«Manage accountΒ» ΠΈ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ страницС Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка Β«LanguageΒ» Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²Π°ΠΌ язык интСрфСйса

4. Для созданиС рСпозитория для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ страницу вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° (https://bitbucket.org/dashboard/overview) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ваш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ»

5. На страницС создания Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ настройки:

Имя – Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ имя вашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория. Π”Π°Π½Π½ΠΎΠ΅ имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для построСния ссылки доступа ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ.
Π’Π°ΠΆΠ½ΠΎ! Π›ΡƒΡ‡ΡˆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя латинскими Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, ΠΈΠ½Π°Ρ‡Π΅ ссылка Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Ρ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ дСфисами ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ слоТный ΠΊ пониманию Π²ΠΈΠ΄: httΡ€s://вашлогин@bitbucket.org/вашлогин/--------

ОписаниС – Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС вашСго рСпозитория (ΠΏΠΎΠ»Π΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅)
- Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ доступа – ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ доступ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠΌΠ΅Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π»Π΅Π½Ρ‹ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ).
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΊΠΎΠ² – ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Β«Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΊΠΈΒ»
- Π’ΠΈΠΏ рСпозитория – Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«MercurialΒ»
- Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ – ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ Β«Π’Ρ€Π΅ΠΊΠ΅Ρ€ Π·Π°Π΄Π°Ρ‡Β» ΠΈ Β«Π’ΠΈΠΊΠΈΒ»
- Π―Π·Ρ‹ΠΊ – Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ написан ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ ΠΌΠΎΠ΅ΠΌ случаС это PHP.

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ указания всСх настроСк страница Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ:

Π•Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ссли всС Π²Π²Π΅Π΄Π΅Π½ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ».

6. ПослС создания Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория Π²Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚Π΅ Π½Π° страницу «Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹Β»:

7. Π£ сСбя Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ создаСтС ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π² дальнСйшСм Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ систСмС контроля вСрсий Mercurial.

Π’Π°ΠΆΠ½ΠΎ! Папка Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ пустой. МнС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ (ΠΊΡƒΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°) ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ пСрСнСсти всС Ρ„Π°ΠΉΠ»Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию - backup). ПозТС ΠΌΡ‹ Π²Π΅Ρ€Π½Π΅ΠΌ всС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° мСсто, Π° ΠΏΠΎΠΊΠ° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

8. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π΅ Β«Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΒ» ссылку для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ созданному Π²Π°ΠΌΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ· ΠΏ. 6

И Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ».

9. БистСма запросит Ρƒ вас ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚ вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π² сСрвисС Bitbucket, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΅Π³ΠΎ.

10. Если всС Π±Ρ‹Π»ΠΎ сдСлано Π±Π΅Π· ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ ΠΎΡ‚ Π΄Π°Π½Π½ΠΎΠΉ инструкции, Ρ‚ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ появится Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«.hgΒ» со слуТСбными Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ созданного рСпозитория.

11. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ смСло Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄) вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΠ°ΠΏΠΊΡƒ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊ систСмС контроля вСрсий Mercurial

Π’Π°ΠΆΠ½ΠΎ! Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«.hgΒ» Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°ΠΉΡ‚Π΅. Он Π½ΡƒΠΆΠ΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ VCS.

12. Π‘Π½ΠΎΠ²Π° Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° нашСй ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Β«Hg Commit…»

13. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для фиксации всСх сдСланных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½Π°Π΄ вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° наши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹).

Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ всС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅) Ρ„Π°ΠΉΠ»Ρ‹, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ВСрсия 1.00) ΠΊ измСнСнию ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π€ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ».

БистСма попросит ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΆΠΌΠΈΡ‚Π΅ Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ».

14. Если всС Π±Ρ‹Π»ΠΎ сдСлано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ систСма зафиксируСт ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ измСнСния, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:

БобствСнно, Π² дальнСйшСм, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ вСсти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ нСбольшого куска ΠΊΠΎΠ΄Π°, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствиС ΠΈΠ· ΠΏ. 12 (Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Β«Hg Commit…») для фиксации ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠ³ΠΎ измСнСния Π² систСмС контроля вСрсия. Π­Ρ‚ΠΎ даст Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ систСму Π΄ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ фиксации.

Учитывая Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ слСдуСт ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ, Ρ‡Π΅ΠΌ «ВСрсия 1.00Β», ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· фиксаций.

16. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ сохранСнных (зафиксированных) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΉ фиксации, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² созданный Π²Π°ΠΌΠΈ Ρ€Π°Π½Π΅Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Для этого Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠŸΡ€ΠΎΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ входящиС измСнСния Π²Β».

ПослС этого Π²Π°ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π° с ΠΏΡ€ΠΎΡΡŒΠ±ΠΎΠΉ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Β«ΠΏΡ€ΠΎΡ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅Β» ΠΈ ΠΏΡ€ΠΎΡΡŒΠ±ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚ вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π² Bitbucket. Π‘ΠΎΠ³Π»Π°ΡˆΠ°ΠΉΡ‚Π΅ΡΡŒ ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

БистСма Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ваш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° сСрвСрС Bitbucket. НС ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅ ΠΈ Π΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса.

17. Π’Π΅ΠΏΠ΅Ρ€ΡŒ копия Ρ„Π°ΠΉΠ»ΠΎΠ² вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° сСрвСрах Bitbucket. Π’ вашСм Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅ Bitbucket Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΈΡ‚ΠΎΠ³ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ систСмы контроля вСрсий (VCS)

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ создали Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ помСстили Π² Π½Π΅Π³ΠΎ всС Ρ„Π°ΠΉΠ»ΠΈ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ с любого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² хранящихся Π² Π½Π΅ΠΌ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ вашСго Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· рСпозитория Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ шаги 1 – Установка TortoiseHg ΠΈ 7 – Π˜ΠΌΠΏΠΎΡ€Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² рСпозитория, для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ, Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ваши Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ сотрудников ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ.

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

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ сСйчас ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ программиста (пригласим участника) ΠΈ настроим Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мСсто.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ сотрудника ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ

18. ВсС сотрудники, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ зарСгистрированы Π½Π° сСрвисС Bitbucket. А Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ Π½ΠΈΡ… Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн TortoiseHg.

Как Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° сСрвисС ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ TortoiseHg, я рассказывал Ρ‡ΡƒΡ‚ΡŒ Ρ€Π°Π½Π΅Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ инструкции. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹ΠΉ процСсс Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρƒ вас ΠΈ Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠ»Π»Π΅Π³ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… трудностСй.

19. Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π° сСрвисС Bitbucket:

НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅Β», Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠŸΡ€ΠΈΠ³Π»Π°ΡΠΈΡ‚ΡŒ участника Π½Π° этот Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ».

20. БистСма Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π²Π°ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΡ€ΠΎΡΡŒΠ±ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ элСктронный адрСс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΡŒ доступ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ. Помимо этого, Π²Π°ΠΌ понадобится ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа (Β«Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β» ΠΈΠ»ΠΈ «запись»). Π’.ΠΊ. Π² Π΄Π°Π½Π½ΠΎΠΉ инструкции ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‚ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ «запись».

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π²Π΅Π»ΠΈ email сотрудника ΠΈ ΡƒΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡ€Π°Π²Π° доступа, ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ShareΒ».

21. ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ участник ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π½Π° свой email письмо со ссылкой Π½Π° ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅. Π•ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ссылкС ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° доступ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ.

Π•Ρ‰Π΅ Ρ€Π°Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡŽ, всС участники вашСго рСпозитория Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ зарСгистрированы Π² сСрвисС Bitbucket.

22. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ принято, Π½ΠΎΠ²Ρ‹ΠΉ участник Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρƒ сСбя Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ свою ссылку Π½Π° доступ ΠΊ Π½Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TortoiseHg.

ВсС измСнСния, сдСланныС Π²Π°ΠΌΠΈ ΠΈ вашими ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ, Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π’Ρ‹ смоТСтС ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚Π΅ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΉ вСрсии.

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

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

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

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

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

МногиС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСрсии, просто копируя Ρ„Π°ΠΉΠ»Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ добавляя Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΊ названию ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°). Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ распространён, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ прост, Π½ΠΎ ΠΎΠ½ ΠΈ Ρ‡Π°Ρ‰Π΅ Π΄Π°Ρ‘Ρ‚ сбои. ΠžΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π·Π°Π±Ρ‹Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ Π½Π΅ Π² Ρ‚ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΈ случайно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ», Π»ΠΈΠ±ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ Ρ‚ΡƒΠ΄Π°, ΠΊΡƒΠ΄Π° Ρ…ΠΎΡ‚Π΅Π», ΠΈ Π·Π°Ρ‚Π΅Ρ€Π΅Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, программисты ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π‘ΠšΠ’ с простой Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся всС измСнСния Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (см. рисунок 1-1).

Рисунок 1-1. Π‘Ρ…Π΅ΠΌΠ° локальной Π‘ΠšΠ’.

Одной ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных Π‘ΠšΠ’ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° являСтся rcs, которая Π΄ΠΎ сих ΠΏΠΎΡ€ устанавливаСтся Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹. Π”Π°ΠΆΠ΅ Π² соврСмСнной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Mac OS X ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° rcs устанавливаСтся вмСстС с Developer Tools. Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° основана Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠΈ вСрсий (ΠΏΠ°Ρ‚Ρ‡ - Ρ„Π°ΠΉΠ», ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π½Π° дискС. Π­Ρ‚ΠΎ позволяСт ΠΏΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ любой Ρ„Π°ΠΉΠ» Π½Π° любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ накладывая ΠΏΠ°Ρ‚Ρ‡ΠΈ.

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

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ основной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ оказалась Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°Ρ‚ΡŒ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΅Ρ‘, Π±Ρ‹Π»ΠΈ созданы Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы контроля вСрсий (Π¦Π‘ΠšΠ’). Π’ Ρ‚Π°ΠΊΠΈΡ… систСмах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ CVS, Subversion ΠΈ Perforce, Π΅ΡΡ‚ΡŒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ, ΠΈ ряд ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π½Π΅Π³ΠΎ. Много Π»Π΅Ρ‚ это Π±Ρ‹Π»ΠΎ стандартом для систСм контроля вСрсий (см. рис. 1-2).


Рисунок 1-2. Π‘Ρ…Π΅ΠΌΠ° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ контроля вСрсий.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство прСимущСств, особСнно Π½Π°Π΄ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π‘ΠšΠ’. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, всС Π·Π½Π°ΡŽΡ‚, ΠΊΡ‚ΠΎ ΠΈ Ρ‡Π΅ΠΌ занимаСтся Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π£ администраторов Π΅ΡΡ‚ΡŒ Ρ‡Ρ‘Ρ‚ΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π¦Π‘ΠšΠ’ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅, Ρ‡Π΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±Π°Π·Ρ‹ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

Однако ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ ΠΈ нСсколько ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… нСдостатков. НаиболСС ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ - Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ сСрвСр являСтся уязвимым мСстом всСй систСмы. Если сСрвСр Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π° час, Ρ‚ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ часа Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠΉ вСрсии своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹. Если ΠΆΠ΅ поврСТдаСтся диск с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅Ρ‚ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ, Π²Ρ‹ тСряСтС Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всё - всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… вСрсий, ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ²ΡˆΠΈΡ…ΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ систСмы контроля вСрсий ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅: Ссли вся история ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° хранится Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, Π²Ρ‹ рискуСтС ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ всё.

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

И Π² этой ситуации Π² ΠΈΠ³Ρ€Ρƒ Π²ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ распрСдСлённыС систСмы контроля вСрсий (Π Π‘ΠšΠ’). Π’ Ρ‚Π°ΠΊΠΈΡ… систСмах ΠΊΠ°ΠΊ Git, Mercurial, Bazaar ΠΈΠ»ΠΈ Darcs ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π½Π΅ просто Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ послСдниС вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ², Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² случаС, ΠΊΠΎΠ³Π΄Π° "ΡƒΠΌΠΈΡ€Π°Π΅Ρ‚" сСрвСр, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ шла Ρ€Π°Π±ΠΎΡ‚Π°, любой клиСнтский Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скопирован ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° сСрвСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠ½ создаёт сСбС ΠΏΠΎΠ»Π½ΡƒΡŽ копию всСх Π΄Π°Π½Π½Ρ‹Ρ… (см. рисунок 1-3).


Рисунок 1-3. Π‘Ρ…Π΅ΠΌΠ° распрСдСлённой систСмы контроля вСрсий.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² большСй части этих систСм ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ рСпозиториями, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ людСй Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π°ΠΊ, Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ вСсти нСсколько Ρ‚ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов, Ρ‡Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСмах.

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

Π§Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅?
Π˜Ρ‚Π°ΠΊ, систСмы управлСния вСрсиями (Π‘Π£Π’) - это такая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΊΠ°, которая позволяСт ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
Π—Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ?
Π­Ρ‚ΠΎ - ΠΎΡ‡Π΅Π½ΡŒ, прямо ΠΌΠ΅Π³Π°-ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ писали-писали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ сломали. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² систСмС управлСния вСрсиями, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ измСнялось, мСня это ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· спасало.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π΅Π΄Π°Π²Π½ΠΎ Ρƒ мСня Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠ°Π΄Π°Ρ‚ΡŒ ограничСния ΠΏΠΎ скорости Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π° FPGA. Π― Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚ нашСл Π²Π΅Ρ€ΡΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠ°Π΄Π°Π»ΠΈ ΠΈ нашСл Π² Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°

Если Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π±Π΅Π· Π‘Π£Π’ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ - начинаСтся хаос, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своС ΠΈ Π½Π΅ понятно, ΠΊΡ‚ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ Π½Π°Π΄Π΅Π»Π°Π». Π‘ Π‘Π£Π’ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΡ‚ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ сдСлал, измСнСния внСсСнныС Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ становятся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ экзотичСскиС примСнСния. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, измСнСния этого сайта я ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽ Π½Π° сСрвСр с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмы контроля вСрсий.

ΠšΠ°ΠΊΡƒΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ?
БистСм контроля вСрсий сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство. Π›ΠΈΡ‡Π½ΠΎ я для сСбя Π²Ρ‹Π±Ρ€Π°Π» Mercurial . ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ систСма, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ всСм Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ - быстрая, кросплатформСная, с ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ графичСским ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. ΠžΡ‡Π΅Π½ΡŒ вСсомым Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π² Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·Ρƒ оказалось сущСствованиС сайта . Π― Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ ΠΏΠΎΠΆΠ°Π»Π΅Π» ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅.

ΠšΡ€ΠΎΠΌΠ΅ Mercurial, сСйчас довольно распространСны git ΠΈ svn . Git большС распространСн Π² ΠΎΠΊΠΎΠ»ΠΎ linux"овской тусовкС, svn - Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ срСдС. Π― ΠΈΡ… ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ (ΠΏΡ€Π°Π²Π΄Π°, ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ Π΄ΠΎΠ»Π³ΠΎ), Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ стоило Π±Ρ‹ Π±Ρ€ΠΎΡΠ°Ρ‚ΡŒ mercurial я Π½Π΅ ΡƒΠ²ΠΈΠ΄Π΅Π».

Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ сайт , Π½Π° Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ваши ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Он ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ github ΠΌΠΎΠΆΠ½ΠΎ бСсплатно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ - мСсто, Π³Π΄Π΅ хранится ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹). ΠŸΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° Ρ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΈ Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ большС, Ρ‡Π΅ΠΌ 5 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. ΠŸΡ€ΠΈ этом, Π»ΠΈΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π΄ΠΎ 8ΠΌΠΈ, рассылая ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ. Π―, ΠΏΠΎΠΊΠ°, Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π» этого Π»ΠΈΠΌΠΈΡ‚Π°. ΠšΡ€ΠΎΠΌΠ΅ этого, Π΅ΡΡ‚ΡŒ wiki ΠΈ Π±Π°Π³Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€, Π²ΠΎΠΎΠ±Ρ‰Π΅ΠΌ, всС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Когда я Π½Π°Ρ‡ΠΈΠ½Π°Π» с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, сайт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Mercurial (отчасти ΠΈΠ·-Π·Π° этого, я ΠΈ Π²Ρ‹Π±Ρ€Π°Π» mercurial), Π½ΠΎ сСйчас Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊ bitbucket ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ свой Π΄ΠΎΠΌΠ΅Π½. Π’ΠΎΡ‚, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚: hg.bsvi.ru

Как Π½Π°Ρ‡Π°Ρ‚ΡŒ?
Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ tortoiseHg . Π”ΡƒΠΌΠ°ΡŽ, с установкой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚.

ПослС установки, Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Для этого, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π‘:/Users/BSVi/mercurial.ini Ρ‚ΡƒΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строчку

Username = bsvi

ЕстСствСнно, bsvi Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° вашС имя.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Для этого Π½Π° ΠΆΠΌΠ΅ΠΌ Β«Create repositoryΒ»:

Π’Π°ΠΌ заполняСм Π½Π°Π·Π²Π°Π½ΠΈΠ΅, описаниС, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ язык. МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ wiki ΠΈ Π±Π°Π³Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«cloneΒ» ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ появилось:

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ зависят ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. Π›ΠΈΡ‡Π½ΠΎ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ far. Π― просто Π²ΡΡ‚Π°Π²Π»ΡΡŽ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ строчку Π² ΠΊΠΎΠΌΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку:

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΡƒΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ (эм), total commander ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ Π΄ΡƒΡ…Π΅, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΊΠΈ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ:


Π’Π°ΠΌ, Π² ΠΏΠΎΠ»Π΅ source Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ, СстСствСнно, Π±Π΅Π· hg clone:

Вас спросят ΠΎ вашСм ΠΏΠ°Ρ€ΠΎΠ»Π΅, ΠΈ появится дирСктория test-repo, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, собствСнно ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²
Если Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ просто ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ. ΠœΡ‹-ΠΆΠ΅, для ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ, создадим Ρ„Π°ΠΉΠ» main.c с Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠΌ содСрТимым:

#include int main() { return 0; }

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сдСлаСм ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠΎΠΌΠΌΠΈΡ‚ - это внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Для этого запускаСм hg workbench. Π― просто ΠΏΠΈΡˆΡƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС thg, для эксплорСрообразных Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ПКМ->Hg Workbench.

Напротив нашСго Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°ΠΊ вопроса (это Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚). ΠŸΠΎΡΡ‚Π°Π²ΠΈΠΌ ΠΎΠΊΠΎΠ»ΠΎ Π½Π΅Π³ΠΎ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ ΠΈ напишСм описаниС Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано:


ЕстСствСнно, послС этого, ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«commitΒ».

ВсС, измСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ внСсСны. Π’ΡƒΡ‚ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ измСнСния Π²Π½Π΅Ρ‡Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ (Ρ‚ΠΎΠ΅ΡΡ‚ΡŒ, ΠΈΡ… Π΅Ρ‰Π΅ Π½Π΅Ρ‚Ρƒ Π½Π° сСрвСрС). Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрСнСсти измСнСния Π½Π° сСрвСр, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«pushΒ», Π²ΠΎΡ‚ ΠΎΠ½Π°:

ЕстСствСнно, для проталкивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° сСрвСр, потрСбуСтся ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

ИзмСним Ρ„Π°ΠΉΠ»
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ систСм контроля вСрсий - отслСТиваниС вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ². Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экран:

#include int main() { printf("mercurial rules!"); return 0; }

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² hg workbench. Π― ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π΅Π³ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽ (ΠΎΠ± этом-дальшС), Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ f5 Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ². Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ измСнилось со Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

И это - ΠΎΡ‡Π΅Π½ΡŒ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ инструмСнт. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, Π²ΠΎ врСмя ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² Ρ„Π°ΠΉΠ»Π°Ρ… появляСтся ΠΊΡƒΡ‡Π° Ρ€Π°Π·Π½ΠΎΠ³ΠΎ мусора. Π”Π°ΠΊ Π²ΠΎΡ‚, просматривая Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ мусора ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

А Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с мусором?
ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ появляСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ мусора - ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ IDE, ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΡ‚ΠΏ. ВсС, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ относится ΠΊ самому ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· рСпозитория. Для этого сущСствуСт Ρ„Π°ΠΉΠ».hgignore (Π΄Π°, с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π² Π½Π°Ρ‡Π°Π»Π΅ названия).

Π”ΠΎΠ±Π°Π²ΠΈΠΌ мусорный Ρ„Π°ΠΉΠ» ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Π―, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, создал main.obj:

Если сСйчас ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎ, СстСствСнно, hg workbench ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, создадим Ρ„Π°ΠΉΠ».hgigonre ΠΈ напишСм Ρ‚Π°ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ obj:
syntax:glob *.obj

Если ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎ obj Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠΏΠ°Π΄ΡƒΡ‚, Π·Π°Ρ‚ΠΎ появится Ρ„Π°ΠΉΠ».hgignore, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ:

А ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ измСнСния?
Восстановим Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ состояния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ Π΄ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° экран. Для этого достаточно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ хочСтся ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π²ΠΎΡ‚ эту ΠΊΠ½ΠΎΠΏΠΊΡƒ:

Π’ΠΎΡ‡Π½ΠΎ практичСски Ρ‚Π°ΠΊ-ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

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

МногиС Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ систСмы контроля вСрсий Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΡˆΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ большой Ρ‚ΠΎΠ»ΠΏΠΎΠΉ, Π½ΠΎ это - Π½Π΅ Ρ‚Π°ΠΊ:) Π”Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΡƒ, систСмы контроля вСрсий сильно Π²Ρ‹Ρ€ΡƒΡ‡Π°ΡŽΡ‚.

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π²ΠΎΡ‚ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΌΠΎΠ΅Π³ΠΎ UTC (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽ сам) Π² самом слоТном мСстС Π² hg workbench:

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я измСрял, Mercurial ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Π΅ΠΌ Subversion. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ большС Π² 2-6 Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Subversion 1.4.3 (самый быстрый ΠΌΠ΅Ρ‚ΠΎΠ΄ доступа). ΠŸΡ€ΠΈ Π±ΠΎΠ»Π΅Π΅ рСалистичном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ использования - сСтСвой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Subversion находится Π² сущСствСнно Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’ силу Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Subversion Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с сСрвСром ΠΈ ΠΏΡ€ΠΈ этом Subversion Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… срСдств Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСрвСра ΠΈ пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ сСти становятся ΡƒΠ·ΠΊΠΈΠΌΠΈ мСстами Π΄Π°ΠΆΠ΅ для Π½Π΅ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Subversion Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ дисковоС пространство для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ сСтСвых запросов ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: поиск ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (status) ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (diff). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ рабочая копия Subversion Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (Π° Ρ‚ΠΎ ΠΈ большС) ΠΊΠ°ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Mercurial ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ вмСстС взятыС, хотя Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Mercurial содСрТит ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Subversion ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ инструмСнтария сторонних ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π’ этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρƒ Mercurial сСйчас сущСствСнноС отставаниС. Π₯отя Ρ€Π°Π·Ρ€Ρ‹Π² сокращаСтся, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ GUI-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Mercurial прСвосходят свои Π°Π½Π°Π»ΠΎΠ³ΠΈ для Subversion. Как ΠΈ Mercurial, Subversion располагаСт ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ руководством ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, Π° Ρ‡Π°Ρ‰Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Subversion позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π° врСмя ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° Π½Π° внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½Π΅Π³ΠΎ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ прСимущСством для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

Mercurial ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· рСпозитория Subversion. Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ процСсс. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΡ‰ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎΡ‡Π²Ρƒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Mercurial ΠΈ Subversion ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ истории - ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ процСсс, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ измСнСния.

1.6.2. Git

Git - распрСдСлСнная систСма контроля вСрсий, которая Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ ядра Linux. Как ΠΈ Π² случаС с Mercurial, Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ систСмы ΠΎΠΊΠ°Π·Π°Π» влияниС Monotone.

Git прСдоставляСт большой список ΠΊΠΎΠΌΠ°Π½Π΄, число ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² вСрсии 1.5.0 достигаСт 139 ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†. Он ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΡŽ инструмСнта, слоТного для изучСния. Π’ сравнСнии с Git, Mercurial Π΄Π΅Π»Π°Π΅Ρ‚ ΡƒΠΏΠΎΡ€ Π½Π° простоту.

Π§Ρ‚ΠΎ касаСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ - Git ΠΎΡ‡Π΅Π½ΡŒ быстр. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΎΠ½ быстрСС, Ρ‡Π΅ΠΌ Mercurial (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠ΄ Linux), Π° Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… быстрСС оказываСтся Mercurial. Однако ΠΏΠΎΠ΄ Windows ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, Π²ΠΎ врСмя написания этой ΠΊΠ½ΠΈΠ³ΠΈ Ρƒ Git Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ Ρƒ Mercurial.

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

Π―Π΄Ρ€ΠΎ Git написано Π½Π° языкС Π‘. МногиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ Shell скриптов ΠΈΠ»ΠΈ скриптов Π½Π° языкС Perl ΠΈ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ качСства Π΄Π°Π½Π½Ρ‹Ρ… скриптов сильно разнится. Π― встрСчал нСсколько установок, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… скрипты Ρ‚ΡƒΠΏΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, нСсмотря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ошибок.

Mercurial прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° истории вСрсий ΠΈΠ· рСпозитория Git.

1.6.3. CVS

CVS, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, самая ΡˆΠΈΡ€ΠΎΠΊΠΎ распространённая систСма контроля вСрсий Π² ΠΌΠΈΡ€Π΅. Благодаря ΠΏΠΎΡ‡Ρ‚Π΅Π½Π½ΠΎΠΌΡƒ возрасту, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Π°Ρ€Π΄Π°ΠΊΡƒ, царящСму Π²Π½ΡƒΡ‚Ρ€ΠΈ, ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ слабо поддСрТиваСтся ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚.

CVS основан Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Он Π½Π΅ выполняСт Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ‚Π΅ΠΌ самым позволяя людям Π»Π΅Π³ΠΊΠΎ Β«ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ Π±ΠΈΠ»Π΄ Β» : ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ внСсти Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈΠ·-Π·Π° нСобходимости выполнСния слияния. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ситуации, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ участники увидят Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· Ρ‚Π΅Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ. Данная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ влияСт Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с историСй ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ внёс для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ описания ΠΈ Π΄Π°Ρ‚Ρƒ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (Ссли Π²Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π»ΠΈ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹).

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

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

Β«

1.8. ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ история контроля вСрсий

Бамая извСстная ΠΈΠ· старых ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ контроля вСрсий - SCCS (Source Code Control System, систСма контроля исходного ΠΊΠΎΠ΄Π°), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ написал ΠœΠ°Ρ€ΠΊ Π ΠΎΡ‡ΠΊΠ°ΠΉΠ½Π΄ (Marc Rochkind) ΠΈΠ· Bell Labs, Π² Π½Π°Ρ‡Π°Π»Π΅ 70-Ρ…. SCCS ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π»Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΈΠΌΠ΅Π» доступ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ пространству, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠ΅ΠΌΡƒ Π² СдинствСнном экзСмплярС. Волько ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠ³ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ; ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π»ΠΈΡΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ситуациСй Π±Ρ‹Π»ΠΎ Π·Π°Π±Ρ‹Π²Π°Π½ΠΈΠ΅ снятия Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ послС рСдактирования, Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π»ΠΎ доступ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ людям Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ‰ΠΈ администратора.

Π’Π°Π»ΡŒΡ‚Π΅Ρ€ Π’ΠΈΡ‡ΠΈ (Walter Tichy) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡƒΡŽ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ SCCS Π² Π½Π°Ρ‡Π°Π»Π΅ 1980-Ρ…; ΠΎΠ½ Π½Π°Π·Π²Π°Π» свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ RCS (Revision Control System, систСма контроля Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ). Подобно SCCS, RCS Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ раздСляСмом Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ пространствС, Ρ‚Π°ΠΊ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² для прСдотвращСния ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ людьми.

ПозднСС, Π² 1980-Ρ… ΠΆΠ΅ Π³ΠΎΠ΄Π°Ρ…, Π”ΠΈΠΊ Π“Ρ€ΡŽΠ½ (Dick Grune) использовал RCS ΠΊΠ°ΠΊ основу для Π½Π°Π±ΠΎΡ€Π° shell-скриптов, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π°Π·Π²Π°Π½Π½Ρ‹Ρ… cmt, Π° ΠΏΠΎΠ·Π΄Π½Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² CVS (Concurrent Versions System, систСма ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… вСрсий). ΠšΡ€ΡƒΠΏΠ½ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ CVS Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΠΎΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° позволяла Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни, нСзависимо Π² ΠΈΡ… Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… пространствах. Π­Ρ‚ΠΈΠΌΠΈ-Ρ‚ΠΎ пространствами ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ постоянныС наступания Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ Π½Π° пятки, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π² SCCS ΠΈ RCS. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠΌΠ΅Π» копию ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΏΠΈΠΈ нСзависимо. Им ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ собствСнныС ΠΏΡ€Π°Π²ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΡΡ‹Π»ΠΊΠΎΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

Π‘Ρ€Π°ΠΉΠ°Π½ Π‘Π΅Ρ€Π»ΠΈΠ½Π΅Ρ€ (Brian Berliner) взял ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ скрипты Π“Ρ€ΡŽΠ½Π° ΠΈ пСрСписал ΠΈΡ… Π½Π° Π‘ΠΈ, выпустив Π² 1989 Π³ΠΎΠ΄Ρƒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ впослСдствии развился Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ CVS. CVS Π² дальнСйшСм ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ сСти, обрСтя ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ. АрхитСктура CVS являСтся Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ: Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС Π΅ΡΡ‚ΡŒ копия истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ содСрТали Ρ‚ΠΎΠ»ΡŒΠΊΠΎ экзСмпляры Ρ„Π°ΠΉΠ»ΠΎΠ² послСднСй вСрсии ΠΈ нСбольшиС ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ для опрСдСлСния мСстонахоТдСния сСрвСра. БистСма CVS достигла Π½Π΅Π±Ρ‹Π²Π°Π»ΠΎΠ³ΠΎ успСха: вСроятно, ΠΎΠ½Π° являСтся самой ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ систСмой контроля вСрсий Π² ΠΌΠΈΡ€Π΅.

Π’ Π½Π°Ρ‡Π°Π»Π΅ 1990-Ρ… Π³ΠΎΠ΄ΠΎΠ² Sun Microsystems Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Ρ€Π°Π½Π½ΡŽΡŽ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ систСму контроля вСрсий, Π½Π°Π·Ρ‹Π²Π°Π²ΡˆΡƒΡŽΡΡ TeamWare. КаТдая рабочая копия TeamWare содСрТала ΠΏΠΎΠ»Π½ΡƒΡŽ копию истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория Π² TeamWare отсутствовало ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ΅. (Подобно CVS, использовавшСй RCS для хранСния истории, TeamWare использовала SCCS.)

Π¨Π»ΠΈ 1990-Ρ‹Π΅, росла ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ»Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… CVS. БистСма записываСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ измСнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ, Π° Π½Π΅ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡ… Π² ΠΎΠ΄Π½Ρƒ логичСски Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ. Бпособ управлСния Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆ: Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡƒΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ бСспорядок, пСрСимСновывая Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, исходныС ΠΊΠΎΠ΄Ρ‹ CVS нСпросто ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сдСлало практичСски Π½Π΅ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΡ‹ΠΌ Β«Π±ΠΎΠ»Π΅Π²ΠΎΠΉ ΠΏΠΎΡ€ΠΎΠ³ Β» исправлСния этих Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π’ 2001 Π³ΠΎΠ΄Ρƒ Π”ΠΆΠΈΠΌ Π‘Π»Π°Π½Π΄ΠΈ (Jim Blandy) ΠΈ ΠšΠ°Ρ€Π» ЀогСль (Karl Fogel) - Π΄Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠΈΠ΅ Π½Π°Π΄ CVS - Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ Π΅Ρ‘ Π·Π°ΠΌΠ΅Π½Π΅ Ρ‚Π°ΠΊΠΈΠΌ срСдством, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠΌΠ΅Π»ΠΎ Π±Ρ‹ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅ ΠΈ ΠΊΠΎΠ΄ ΠΏΠΎΡ‡ΠΈΡ‰Π΅. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ - Subversion - Π½Π΅ ΠΎΡ‚ΠΎΡˆΡ‘Π» ΠΎΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной ΠΌΠΎΠ΄Π΅Π»ΠΈ CVS, Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пространствами ΠΈΠΌΡ‘Π½ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сдСлали Subversion Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ срСдством Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½Π΅ΠΆΠ΅Π»ΠΈ CVS. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Subversion быстро ΠΎΠ±Ρ€Π΅Ρ‚Π°Π» ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ.

Π‘ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π“Ρ€Π΅ΠΉΠ΄ΠΎΠ½ Π₯ΠΎΠ°Ρ€ (Graydon Hoare) Π½Π°Ρ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π°ΠΌΠ±ΠΈΡ†ΠΈΠΎΠ·Π½ΠΎΠΉ систСмой контроля вСрсий, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π·Π²Π°Π» Monotone. Π­Ρ‚Π° систСма Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ устраняСт мноТСство ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства CVS ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, Π½ΠΎ ΠΈ ΠΈΠ΄Ρ‘Ρ‚ Π΄Π°Π»Π΅Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€Π΅ΠΆΠ½ΠΈΡ… (ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ…) систСм контроля вСрсий Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… своих нововвСдСниях. Monotone ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ криптографичСскиС Ρ…Π΅ΡˆΠΈ Π² качСствС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ прСдставлСниС ΠΎ Β«Π΄ΠΎΠ²Π΅Ρ€ΠΈΠΈ Β» ΠΊΠΎΠ΄Ρƒ ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… источников.

Π–ΠΈΠ·Π½ΡŒ Mercurial Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Π² 2005 Π³ΠΎΠ΄Ρƒ. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ аспСкты Π΅Π³ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π±Ρ‹Π»ΠΈ созданы ΠΏΠΎΠ΄ влияниСм Monotone, Mercurial сосрСдоточСн Π½Π° простотС использования, высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ Π΄ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π£ вас появилась новая Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ бизнСс-идСя, связанная с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ПО? Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ тСхнологичСски слоТноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅? Или Ρƒ вас большая ΠΊΠΎΠΌΠ°Π½Π΄Π° программистов, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ? Π’ΠΎΠ³Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ эти Ρ‚Ρ€ΠΈ слова: систСма контроля вСрсий .

БистСма контроля вСрсий (cvs), 2017 β€” Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅ΠΌ: Git, SVN, Mercurial

, ΠΈΠ»ΠΈ vcs - это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ даст ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Ρ€Π°Π·Π²Π°Π»ΠΈΡ‚ΡŒΡΡ Π½Π° куски, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ людСй. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹, ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π°Π΄ своим кусочком, Π½Π΅ мСшая Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΈ Π½Π΅ нанося ΡƒΡ‰Π΅Ρ€Π±Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ систСмы контроля вСрсий , Ρ‚ΠΎ Π²ΠΎΡ‚ всС ΠΎΡ‡Π΅Π½ΡŒ наглядно ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ.

Или посмотритС Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡ‚ GitHub.

Π˜Ρ‚Π°ΠΊ, какая систСма контроля вСрсий ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?

ΠœΡ‹ сравнили нСсколько популярных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π°ΠΌ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€.

Π­Ρ‚ΠΎ ΡƒΠ·ΠΊΠΎΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ тСхничСская Ρ‚Π΅ΠΌΠ°. ΠœΡ‹ ΠΏΠΎΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ наш ΠΎΠ±Π·ΠΎΡ€ понятным для всСх. Но Ссли Ρƒ вас Π½Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΡƒΠΉΡ‚Π΅ΡΡŒ с вашим ΠΎΡ‚Π΄Π΅Π»ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

БистСмы контроля вСрсий , Π² Ρ‚ΠΎΠΌ числС ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстныС SVN (Subversion) ΠΈ Git, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создавались, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ совмСстными ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π½Π΅ создавая ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹. Π’ систСмС контроля Π½Π΅ Π½Π°Π΄ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚Π²ΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ примСчания ΠΊ Π½ΠΈΠΌ. ВмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π³Π΄Π΅ всё упорядочСно, структурировано. Π—Π΄Π΅ΡΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ слияниС Π²Π΅Ρ‚ΠΎΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

МнСния Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, какая систСма контроля вСрсий самая Π»ΡƒΡ‡ΡˆΠ°Ρ, сильно разнятся, ΠΈ это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±ΡƒΡ€Π½Ρ‹ΠΌ спорам Π² срСдС программистов. ΠŸΠΎΠ΄Π±ΠΈΡ€Π°Ρ ΠΈ изучая систСмы контроля вСрсий для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ прСимущСства Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ часто ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹. НапримСр, Π»ΠΈΡ‡Π½Ρ‹Π΅ прСдпочтСния программиста ΠΈΠ»ΠΈ, скаТСм, Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΊΠ°ΠΊ быстродСйствиС, возмоТности ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² IDE ΠΈ Ρ‚.Π΄.

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами контроля вСрсий состоит Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ: ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрныС ΠΈΠ»ΠΈ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ (p2p). Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ Π½ΠΈΡ… Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (сСрвСр), ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΊΠΎΠ΄ бСрСтся ΠΈ ΠΊΡƒΠ΄Π° возвращаСтся с внСсСнными измСнСниями. Или это копия Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, обновляСмая посрСдством ΠΏΠΈΡ€ΠΎΠ²: Π±ΠΎΠ»Π΅Π΅ дСцСнтрализованная ΡΠ΅Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для синхронизации, ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠ°Ρ‚Ρ‡Π°ΠΌΠΈ (Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) ΠΈ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°.

Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡Π΅ΡΡ‚ΡŒ быстродСйствиС, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния/освоСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ систСмы контроля . Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС систСмы контроля вСрсий ΠΈ Ρ‚Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ программисты ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

БистСма ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… вСрсий (CVS )

CVS появилась Π² 1980-Ρ… ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ популярна ΠΊΠ°ΠΊ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² коммСрчСских ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ Ρƒ open-source Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

CVS распространяСтся Π½Π° условиях ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ соглашСния GNU ΠΈ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ с сСрвСра Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° - Β« check-outΒ» (ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅) , Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° сСрвСр, Β« check-inΒ» (Π²ΠΎΠ·Π²Ρ€Π°Ρ‚), с внСсСнными измСнСниями.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ CVS Π±Ρ‹Π»Π° создана, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° вСрсий. ВсСм участникам для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самая послСдняя вСрсия ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° пСрвая систСма контроля вСрсий. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ быстро Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΠ»ΠΈ Π΅Π³ΠΎ.

БСйчас CVS ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ характСристиками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.

Π‘Π΅Ρ€Π²Π΅Ρ€Π° CVS ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Unix, Π½ΠΎ CVS -ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ доступны ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… популярных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах. CVS - «зрСлая», провСрСнная Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ систСма контроля вСрсий . Π­Ρ‚ΠΎ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ опСнсорсная систСма, Π½ΠΎ Π½Π° сСгодняшний дСнь Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ довольно Ρ€Π΅Π΄ΠΊΠΎ.

ΠŸΡ€ΠΈ этом CVSNT, - Π²Ρ‹Π΄Π΅Π»ΠΈΠ²ΡˆΠ°ΡΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ вСрсия CVS для сСрвСров Windows, - сСйчас достаточно Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

  • Π˜ΡΠΏΡ‹Ρ‚Π°Π½Π½Π°Ρ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ тСхнология, которая удСрТиваСтся Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ дСсятки Π»Π΅Ρ‚.

НСдостатки:

  • ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ отраТаСтся Π² истории
  • Риски бСзопасности, связанныС с символичСскими ссылками Π½Π° Ρ„Π°ΠΉΠ»Ρ‹
  • НСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° дорогостоящиС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эта систСма контроля Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для долгосрочных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°

Apache Subversion (SVN)

SVN создавалась ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° CVS с Ρ†Π΅Π»ΡŒΡŽ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ нСдостатки CVS ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π½Π΅ΠΉ.

Как ΠΈ CVS , SVN это бСсплатная систСма контроля вСрсий с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π‘ Ρ‚ΠΎΠΉ лишь Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache, Π° Π½Π΅ ΠΏΠΎΠ΄ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹ΠΌ соглашСниСм GNU.

Для сохранСния цСлостности Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SVN ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ появлСнии Π½ΠΎΠ²ΠΎΠΉ вСрсии ΠΊ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π»ΠΈΠ±ΠΎ всС исправлСния, Π»ΠΈΠ±ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‚ ΠΎΡ‚ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½Ρ‹Ρ… частичных ΠΏΡ€Π°Π²ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΡƒΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ошибки.

МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ Π½Π° SVN, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ новая тСхнология унаслСдовала Π»ΡƒΡ‡ΡˆΠΈΠ΅ возмоТности CVS ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»Π° ΠΈΡ….

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

Π’ качСствС нСдостатков SVN ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ низкая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠ° распрСдСлСнного управлСния вСрсиями. РаспрСдСлСнный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΡƒΡŽ модСль, Π° Π½Π΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ сСрвСр для хранСния ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. И хотя пиринговая модСль Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ Π² open source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΎΠ½Π° Π½Π΅ идСальна Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях. НСдостаток сСрвСрного ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° сСрвСр ΠΏΠ°Π΄Π°Π΅Ρ‚, Ρ‚ΠΎ Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π΅Ρ‚ доступа ΠΊ ΠΊΠΎΠ΄Ρƒ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

  • БистСма Π½Π° основС CVS
  • ДопускаСт Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΌΠ΅Π½Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹
  • Π¨ΠΈΡ€ΠΎΠΊΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² IDE
  • НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΡƒΡŽ модСль

НСдостатки:

  • ВсС Π΅Ρ‰Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ошибки, связанныС с ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ
  • ΠΠ΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ
  • Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ

Git

Π­Ρ‚Π° систСма Π±Ρ‹Π»Π° создана для управлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ядра Linux ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΊΠΎΡ€Π½Π΅ отличаСтся ΠΎΡ‚ CVS ΠΈ SVN.

Π’ основу Git Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π»ΠΈΡΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ систСму контроля вСрсий , Π² противовСс ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π² CVS . Π’Π°ΠΊ ΠΊΠ°ΠΊ Git Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»Π°ΡΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄ Linux, Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этой ОБ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС всСго.

Git Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах (ΠΊΠ°ΠΊ MacOS), Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚ mSysGit.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдоступСн, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π±Π΅Π· рСпозитория. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ быстродСйствиС Git являСтся справСдливой ΠΏΠ»Π°Ρ‚ΠΎΠΉ Π·Π° нСудобства.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Git Π΅ΡΡ‚ΡŒ мноТСство инструмСнтов для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. КаТдая рабочая копия исходного ΠΊΠΎΠ΄Π° содСрТит всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΡˆΡŒ Π±Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСния.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

  • ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅Π½Π°Π²ΠΈΠ΄ΠΈΡ‚ CVS /SVN
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ быстродСйствия
  • Π”Π΅ΡˆΠ΅Π²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°
  • Полная история Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ доступная ΠΎΡ„Ρ„Π»Π°ΠΉΠ½
  • РаспрСдСлСнная, пиринговая модСль

НСдостатки:

  • Высокий ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния (обучСния) для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ€Π°Π½Π΅Π΅ использовал SVN
  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Windows (ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Linux)

Mercurial

Mercurial Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Git. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ распрСдСлСнная систСма контроля вСрсий .

Mercurial создавалась Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Git для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра Linux. Но Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ всС-Ρ‚Π°ΠΊΠΈ Git, Ρ‚ΠΎ Mercurial ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ мСньшС. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ с этой систСмой, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ OpenOffice.org .

БистСма контроля вСрсий Mercurial отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм контроля вСрсий Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½Π° написана Π½Π° Python (Π° Π½Π΅ Π‘). Однако, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π² качСствС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Π½Π° C.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ систСма дСцСнтрализованная ΠΈ написана Π½Π° Python, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Python-программисты ΡΠΊΠ»ΠΎΠ½ΡΡŽΡ‚ΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ Π½Π° Mercurial.

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

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

  • По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Git Π»Π΅Π³Ρ‡Π΅ Π² освоСнии
  • ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ докумСнтация
  • РаспрСдСлСнная модСль систСмы контроля вСрсий

НСдостатки:

  • НСт возмоТности слияния Π΄Π²ΡƒΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ
  • ИспользованиС ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Π° Π½Π΅ скриптов
  • МСньшС возмоТностСй для нСстандартных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

Какая систСма контроля вСрсий ΠΌΠ½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ?

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ CVS ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΈΠΌ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Π΅Π΅. Если ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ‚ΠΎ пСрспСктива пСрСноса всСх Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ систСму контроля ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π΅ вдохновляСт. Если Π±Ρ‹ ΠΈΠΌ всС-Ρ‚Π°ΠΊΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ систСму, Ρ‚ΠΎ, скорСС всСго, ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ Π±Ρ‹ Π½Π° SVN.

CVS ΡƒΠΆΠ΅ достигла статуса β€œΠ·Ρ€Π΅Π»ΠΎΠΉ тСхнологии”, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ ΡƒΠΆΠ΅ Π½Π΅ появится Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π˜Π½Π΅Ρ€Ρ†ΠΈΡ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ тСряСтся, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ люди пСрСходят Π½Π° SVN. А Π·Π½Π°Ρ‡ΠΈΡ‚ CVS постСпСнно ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅.

БСгодня SVN ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°Π»ΡŒΠΌΡƒ пСрвСнства срСди сСрвСрных систСм контроля вСрсий . Она Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя прСимущСства CVS ΠΈ прСвосходит ΠΈΡ…. Если ΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ распространСнности, Ρ‚ΠΎ Π²Ρ‹, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с CVS ΠΈΠ»ΠΈ SVN, Ρ‡Π΅ΠΌ с Git ΠΈΠ»ΠΈ Mercurial. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π½Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ сСрвСрной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, хотя ΠΈ Π½Π΅ являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ, ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄.

Благодаря ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ использованию ΠΈ зрСлости Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π² SVN Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π° большая Π±Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ.

Π£ Git явно Π²Ρ‹ΡˆΠ΅ быстродСйствиС ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π°ΠΌΠΈ. Для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ распрСдСлСнныС систСмы контроля вСрсий , это ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅.

БущСствСнным нСдостатком Git являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠΉ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ систСмы контроля , ΠΈ это Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс, ΠΏΠΎΠΊΠ° программисты ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°ΡŽΡ‚ ΠΊ Π½Π΅ΠΉ. Однако, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Β«ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния» ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ возрастаСт ΠΈ удобство управлСния Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° сполна ΠΎΠΊΡƒΠΏΠΈΡ‚ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ врСмя.

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Git (Π° Ρƒ этой систСмы Π΅ΡΡ‚ΡŒ свои ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΈ Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²), Mercurial - это компромисс ΠΌΠ΅ΠΆΠ΄Ρƒ SVN ΠΈ Git. Π­Ρ‚Π° систСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… извСстных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ Π½Π΅Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ докумСнтация.

БовмСстимая с Windows вСрсия Git Ρ‚Π°ΠΊΠΆΠ΅ прогрСссируСт, ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡΡΡŒ ΠΏΠΎ своСму Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΊ Linux-вСрсии, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ эта систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ для вас Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ Π²Π΅Π΄Π΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² Linux.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, какая ΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ для вас, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ особСнности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ!

Если для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° трСбуСтся Π΅Π΄ΠΈΠ½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ исходного ΠΊΠΎΠ΄Π°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСбольшая Π³Ρ€ΡƒΠΏΠΏΠ° программистов, Ρ‚ΠΎ SVN – это ваш Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Она Π½Π°Π΄Π΅ΠΆΠ½Π° ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ Ρ€Π°Π· для Ρ‚Π°ΠΊΠΈΡ… случаСв.

Если ΠΆΠ΅ Π²Ρ‹ запускаСтС open-source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π² Ρ€Π°Π·Π½ΠΎΠ΅ врСмя Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Ρ€ΡƒΠ΄ΠΈΡ‚ΡŒΡΡ нСсколько программистов ΠΈΠ»ΠΈ, Ссли прСдполагаСтся постоянноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ρ‚ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Git. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ исходного ΠΊΠΎΠ΄Π° здСсь Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π² SVN.

Если Π²Ρ‹ Π½Π° Ρ€Π°ΡΠΏΡƒΡ‚ΡŒΠ΅ ΠΈΠ»ΠΈ Π²Π°ΠΌ просто Π½Π΅ нравится, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ SVN ΠΈΠ»ΠΈ Git, Ρ‚ΠΎΠ³Π΄Π° ΠΊ вашим услугам Mercurial.

ВсС эти систСмы ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹. А Ρ‚Π°ΠΊΠΆΠ΅ бСсплатны. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, сайтов ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ извСстны.

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

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с SVN

Если Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с SVN ΠΈΠ»ΠΈ Git, ΠΈ понятия Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‚ΠΎ хостинговоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² сочСтании с графичСским интСрфСйсом ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ быстро ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒΡΡ.

Как ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, самоС Π³Π»Π°Π²Π½ΠΎΠ΅ - Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π° Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅. Эксплуатация систСмы контроля вСрсий ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° сСрвСрС с использованиСм FTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•: Π•ΡΡ‚ΡŒ мноТСство хостинговых Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для систСмы контроля вСрсий , Π² Ρ‚ΠΎΠΌ числС с бСсплатным ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π° ΠΈΡ… Π±Π°Π·Π΅ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (мСсто для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°) ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бСсплатно. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· этих сСрвисов:

Π₯остинг SVN & GIT

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ рСпозитория

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ создали Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ - для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это выглядит Ρ‚Π°ΠΊ:

  • Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² свой Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
  • Π’ строкС Β«Create a New ProjectΒ» Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Create ProjectΒ»
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ SVN:
  • ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Source ControlΒ» (вСрсиями исходного ΠΊΠΎΠ΄Π°)
  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС Β«Enable Source ControlΒ»
  • ΠŸΡ€ΠΈΡΠ²ΠΎΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ имя
  • НаТмитС Β«SaveΒ»

ГрафичСскиС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ SVN ΠΈ GIT

Π˜Ρ‚Π°ΠΊ, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ создан. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π½Π΅ΠΌ всС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ просто ΠΈ наглядно. Для этого Π²Π°ΠΌ понадобится графичСский интСрфСйс.

β€” удобная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмами контроля вСрсий Π² Microsoft Windows ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΈΠ· прСдставлСнных Apache Subversion ΠΊΠ»ΠΈΠ΅Π½Ρ‚. TortoiseSVN Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Windows, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ доступны 34 языковых ΠΏΠ°ΠΊΠ΅Ρ‚Π°

SmartGit

– графичСский ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Git (Open Source распрСдСлСнная систСма контроля вСрсий ). Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows, Mac OS X ΠΈ Linux. Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ - $39

Β«Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅Β» рСпозитория (β€œCheckout”)

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

URL-адрСс ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит Ρ‚Π°ΠΊ: https://svn.hostname.com/svn/ > (Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ https:// (SSL), Ссли Ρƒ вас ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚)

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Check OutΒ» (Β«Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅Β») ΠΈ создайтС Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Π½Π΅Π΅ Ρ„Π°ΠΉΠ»Ρ‹.
  2. ПослС извлСчСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ смоТСтС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² локальной Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ПослС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Ρ‹ для ΠΈΡ… сохранСния Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Check-inΒ» (Β«Π’ΠΎΠ·Π²Ρ€Π°Ρ‚Β») Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ - это довольно Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ идСя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² дальнСйшСм Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Π½Π°Π΄ Ρ‡Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния внСсСны ΠΈ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² курсС Π΄Ρ€ΡƒΠ³ΠΈΡ… участников ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ вашСм ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с рСвизиями, ΠΎΡ‚ΠΊΡ€Ρ‹Π² ΠΆΡƒΡ€Π½Π°Π» Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ - Ρ‚ΠΎΠ³Π΄Π°, Ссли понадобится, Π²Ρ‹ смоТСтС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Β«ΠΎΡ‚ΠΊΠ°Ρ‚Β» ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ концСпциями, докумСнтация