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

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

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

Π“Π΅Π½Ρ€ΠΈ БпСнсСр.

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

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

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

Π’ 1997 Π³ΠΎΠ΄Ρƒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ хакСрской ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π», Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠΌ способом ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, позволяя Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌ Π΄ΠΎΠ±ΠΈΠ²Π°Ρ‚ΡŒΡΡ высококачСствСнных Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Linux, Apache ΠΈ Mozilla, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ добились успСха ΠΈ высокой общСствСнной заинтСрСсованности.

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

19.2. Π›ΡƒΡ‡ΡˆΠΈΠ΅ практичСскиС ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ ΠΏΡ€ΠΈ взаимодСйствии с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°

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

19.2.1. Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΎΠ±ΠΌΠ΅Π½Π° исправлСниями

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

ΠžΡ‡Π΅Π½ΡŒ слоТно ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΎ качСствС ΠΊΠΎΠ΄Π°, поэтому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ склонны ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ исправлСния ΠΏΠΎ качСству ΠΈΡ… ΠΏΠΎΠ΄Π°Ρ‡ΠΈ. Они Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Ρ…ΠΎΠ΄ мыслСй Π² стилС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ исправлСний ΠΈ ΠΌΠ°Π½Π΅Ρ€Π΅ общСния Π»ΠΈΡ†Π°, ΠΏΡ€ΠΈΡΡ‹Π»Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π°ΠΏΠ»Π°Ρ‚Ρƒ.

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

НиТС приводятся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ созданная Π²Π°ΠΌΠΈ Π·Π°ΠΏΠ»Π°Ρ‚Π° Π±Ρ‹Π»Π° принята.

19.2.1.1.Β ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠΉΡ‚Π΅ Π·Π°ΠΏΠ»Π°Ρ‚Ρ‹, Π° Π½Π΅ Ρ†Π΅Π»Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΠ²Ρ‹ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹

Если измСнСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отсутствуСт Π² ΠΊΠΎΠ΄Π΅, Ρ‚ΠΎ, СстСствСнно, приходится ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. Однако Ссли ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ слСдуСт. ВмСсто этого слСдуСт ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ diff-Ρ„Π°ΠΉΠ», Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ diff(1), Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ для сравнСния основной распространяСмой вСрсии с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ.

Команда diff(1) ΠΈ обратная Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π° patch(1) ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными инструмСнтами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°. Diff-Ρ„Π°ΠΉΠ»Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Ρ†Π΅Π»Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ отсылаСтся Π·Π°ΠΏΠ»Π°Ρ‚Π°, ΠΌΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ основной ΠΊΠΎΠ΄ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° получСния ΠΊΠΎΠΏΠΈΠΈ создатСлСм Π·Π°ΠΏΠ»Π°Ρ‚Ρ‹. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ diff-Ρ„Π°ΠΉΠ», ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Π·Π°ΠΏΠ»Π°Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ придСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ, ΠΈ дСмонстрируСт Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ†Π΅Π½ΠΈΡ‚ Π΅Π³ΠΎ врСмя.

19.2.1.2.Β ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠΉΡ‚Π΅ исправлСния ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии ΠΊΠΎΠ΄Π°

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

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

19.2.1.3. НС слСдуСт Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π·Π°ΠΏΠ»Π°Ρ‚Ρ‹ для Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΏΠ»Π°Ρ‚Ρƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π΅ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ автоматичСски послС примСнСния ΠΊΡƒΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ исправлСний ΠΈ пСрСкомпиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ошибки ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π‘-Ρ„Π°ΠΉΠ»Ρ‹, сгСнСрированныС инструмСнтами Bison ΠΈΠ»ΠΈ Flex.

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

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

19.2.1.4. НС отправляйтС Π·Π°ΠΏΠ»Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ±ΠΈΡ€Π°ΡŽΡ‚ $-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ систСм RCS ΠΈΠ»ΠΈ SCCS

НСкоторыС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ вносят ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ Π² свои исходныС Ρ„Π°ΠΉΠ»Ρ‹, распространяСмыС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмы контроля вСрсий, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, конструкции $Id$, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² систСмах RCS ΠΈ CVS.

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