Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования для UnixΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 118

Автор Π­Ρ€ΠΈΠΊ Π Π΅ΠΉΠΌΠΎΠ½Π΄

Другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ СстСствСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ часто Π΄Π΅Π·ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ VCS-систСмы. ΠŸΠ΅Ρ‡Π°Π»ΡŒΠ½ΠΎ извСстная ΡΠ»Π°Π±ΠΎΡΡ‚ΡŒ VCS-систСм β€” ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ². НС просто автоматичСски Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ послС пСрСимСнования. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ пСрСимСнования особСнно Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° VCS-систСма ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅.

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, систСмы VCS ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π ΡƒΠΊΠΎΠΏΠΈΡΡŒ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π²ΠΎ врСмя написания ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² систСмС RCS.

15.5.4. Unix-инструмСнты для контроля вСрсий

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΌΠΈΡ€Π΅ Unix ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Ρ€ΠΈ VCS-систСмы; ΠΎΠ½ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. Π‘ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΊΠ½ΠΈΠ³Π΅ "Applying RCS and SCCS" [5].

15.5.4.1. Source Code Control System (SCCS)

ΠŸΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ· рассматриваСмых систСм появилась SCCS, ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ систСма управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ (Source Code Control System), разработанная Π² Bell Labs ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 1980 Π³ΠΎΠ΄Ρƒ ΠΈ прСдставлСнная Π² System III Unix. SCCS β€” это, вСроятно, пСрвая ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° создания ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΠ΅Ρ€Π΅Π΄ΠΎΠ²Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΉ, Π΄ΠΎ сих ΠΏΠΎΡ€ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π²ΠΎ всСх ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… систСмах, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ коммСрчСскиС Unix- ΠΈ Windows-ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ClearCase.

Однако сама SCCS Π² настоящСС врСмя устарСла. Она Π±Ρ‹Π»Π° частной ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Bell Labs. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ прСвосходныС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ исходными ΠΊΠΎΠ΄Π°ΠΌΠΈ, ΠΈ большая Ρ‡Π°ΡΡ‚ΡŒ Unix-сообщСства ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° ΠΊ ΠΈΡ… использованию. SCCS Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ коммСрчСскими поставщиками ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для управлСния старыми ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ для Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π΅Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ нСльзя.

НС сущСствуСт Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ SCCS с ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Клон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся CSSC (Compatibly Stupid Source Control), разрабатываСтся ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ FSF.

15.5.4.2. Revision Control System (RCS)

Бписок прСвосходных Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ начинаСтся с систСмы RCS (Revision Control System β€” систСма управлСния рСвизиями), которая Π±Ρ‹Π»Π° создана Π² УнивСрситСтС ΠŸΡƒΡ€Π΄ΡŒΡŽ Ρ‡Π΅Ρ€Π΅Π· нСсколько Π»Π΅Ρ‚ послС SCCS ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΠ»Π°ΡΡŒ с 4.3BSD Unix. Данная систСма логичСски ΠΏΠΎΠ΄ΠΎΠ±Π½Π° SCCS, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅Ρ‚ΠΊΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ интСрфСйс ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ срСдства для Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ†Π΅Π»Ρ‹Ρ… Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ΄ символичСскими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.

RCS Π² настоящСС врСмя являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ систСмой Π² ΠΌΠΈΡ€Π΅ Unix. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Unix-систСмах контроля вСрсий RCS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС сСрвСрной части ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ уровня. Она Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΎΠ΄Π½ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ нСбольшой Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², находящихся Π² ΠΎΠ΄Π½ΠΎΠΉ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ RCS ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ FSF. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ бСсплатныС вСрсии для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Microsoft ΠΈ VAX VMS.

15.5.4.3. Concurrent Version System (CVS)

CVS (Concurrent Version System β€” систСма ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вСрсий) Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² Π½Π°Ρ‡Π°Π»Π΅ 1990-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΊΠ°ΠΊ клиСнтская Ρ‡Π°ΡΡ‚ΡŒ ΠΊ RCS, Π½ΠΎ модСль контроля вСрсий, которая использовалась Π² Π½Π΅ΠΉ, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π»Π°ΡΡŒ, Ρ‡Ρ‚ΠΎ данная систСма Π±Ρ‹Π»Π° Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ новая конструкция. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° RCS.

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

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ CVS Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТСн, Ρ‡Π΅ΠΌ интСрфСйс RCS, ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большСго дискового пространства. Π”Π°Π½Π½Ρ‹Π΅ свойства Π΄Π΅Π»Π°ΡŽΡ‚ систСму Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, CVS Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с участиСм мноТСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², распространСнных ΠΏΠΎ нСскольким участкам Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ посрСдством Internet. CVS-инструмСнты Π½Π° клиСнтской машинС ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π° нСпосрСдствСнноС взаимодСйствиС с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, располоТСнным Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΡƒΠ·Π»Π΅.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ CVS-рСпозитория, доступного Ρ‡Π΅Ρ€Π΅Π· Internet, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° сайтС GNOME CVS <http://cvs.gnome.org>. На сайтС ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ использованиС инструмСнтов быстрого просмотра с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ CVS, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Bonsai, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ ΠΈ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

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

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

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ систСмы CVS ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ FSF.

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

15.5.4.4. Π”Ρ€ΡƒΠ³ΠΈΠ΅ систСмы контроля вСрсий

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ систСмы CVS достаточны для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² Π»ΡƒΡ‡ΡˆΠΈΡ… VCS-систСмах с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. НСсколько Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠ»Π½Ρ‹ΠΌ Ρ…ΠΎΠ΄ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ Π² 2003 Π³ΠΎΠ΄Ρƒ. НаиболСС Π²Ρ‹Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΈΠ· Π½ΠΈΡ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Aegis ΠΈ Subversion.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Aegis <http://www.pcug.org.au/~millerp/aegis/aegis.html> ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ°ΠΌΡƒΡŽ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ срСди CVS-Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² ΠΈ являСтся Π·Ρ€Π΅Π»ΠΎΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ систСмой. Π‘ 1991 Π³ΠΎΠ΄Π° данная систСма обСспСчиваСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий для самого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Aegis. ΠžΡΠΎΠ±Ρ‹ΠΉ Π°ΠΊΡ†Π΅Π½Ρ‚ Π² этой систСмС сдСлан Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎΠ΅ тСстированиС ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ достовСрности.

БистСма Subversion <http://subversion.tigris.org/> позиционируСтся ΠΊΠ°ΠΊ "ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сдСланная CVS", с ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ извСстными конструктивными ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Π’ 2003 Π³ΠΎΠ΄Ρƒ данная систСма ΠΈΠΌΠ΅Π»Π° Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠ΅ пСрспСктивы Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² блиТайшСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ CVS.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ BitKeeper <http://www.bitkeeper.com> исслСдуСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ интСрСсныС конструктивныС ΠΈΠ΄Π΅ΠΈ, связанныС с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ мноТСствСнными распрСдСлСнными рСпозиториями ΠΊΠΎΠ΄Π°. Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Bitkeeper для исходных ΠΊΠΎΠ΄ΠΎΠ² ядра Linux. Однако лицСнзия (отличная ΠΎΡ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄) Π½Π° Π΄Π°Π½Π½ΡƒΡŽ систСму являСтся спорной ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° сообщСством.