21.3. Синхронизиране на вашите сорсове

Има няколко начина да използвате Internet (или email) връзка за да се осъвременявате с дадена част от сорсовете на проекта FreeBSD, или всички части, в зависимост от това какво ви интересува. Основните начини които предлагаме са Anonymous CVS, CVSup и CTM.

Warning Независимо от това, че е възможно да осъвремените само някои части от вашето сорс дърво, то единствената поддържана процедура е да осъвремените цялото сорс дърво и да прекомпилирате и userland (т.е. всички потребителски програми които работят в user space, като тези в /bin и /sbin) и сорсовете на ядрото. Осъвременяването само на част от сорс дървото, като само ядрото или само userland често ще доведе до проблеми. Такива могат да бъдат компилационни грешки, паника на ядрото или загуба на данни.

Anonymous CVS и CVSup използват pull модела за осъвременяване на сорсовете. В случая за CVSup потребителя (или cron скрипта) изпълнява cvsup програмата и тя комуникира с cvsupd сървъра за да осъвремени вашите файлове. Променте които получавате са последните към момента и ги получавате само тогава когато ги поискате. Лесно може да се ограничат промените до определени файлове или директории от които се интересувате. Обновленията се генерират на момента от сървъра в зависимост от това което имате и искате да имате. Anonymous CVS е доста по-прост от CVSup в това отношение и се явява като разширение на CVS който позволява да се изтеглят промените директно от отдалеченото CVS хранилище. CVSup може да направи това доста по-ефективно, но Anonymous CVS е по-лесен за използване.

CTM от друга страна не сравнява интерактивно сорсовете които имате с тези в основния архив или. Вместо това скрипта които намира промените във файловете спрямо предишното си стартиране се изпълнява по няколко пъти на ден на основната CTM машина и всички намерени промени се компресират, щамповат с пореден номер и кодират за изпращане по email (само в printable ASCII). Веднъж получени тези, ``CTM deltas'' се подават на ctm_rmail(1) който автоматично ще декодира, провери и приложи промените в потребителското копие на сорсовете. Този процес е далеч по-ефикасен от CVSup, и натоварва по-малко нашите сървъри защото това става по push, а не pull модел.

Има и други компромиси, разбира се. Ако по неволно изтриете части от вашия архив, CVSup ще намери ги и възстанови. CTM няма да може да направи това и ако имате такива липси на вашето сорс копие (и нямате бакъпнати като резервно копие) тогава ще ви се наложи да започнете от начало (от последния CVS ``base delta'') и да ги възстановите всичките с CTM или с Anonymous CVS, просто изтрийте повредените части и ресинхронизирайте.

Този и други документи можете да намерите в ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

За въпроси относно FreeBSD, прочетете документацията преди да попитате в <questions@FreeBSD.org>.
За въпроси относно този документ, e-mail <doc@FreeBSD.org>.