Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Ø Достоинства:
1. Несколько клиентов могут одновременно работать над одним и тем же проектом.
2. Позволяет управлять не одним файлом, а целыми проектами.
3. Обладает огромным количеством удобных графических интерфейсов, способных удовлетворить практически любой, даже самый требовательный вкус.
4. Широко распространена и поставляется по умолчанию с большинством операционных систем Linux.
5. При загрузке тестовых файлов из репозитория передаются только изменения, а не весь файл целиком.
Ø Недостатки:
1. При перемещении или переименовании файла или директории теряются все, привязанные к этому файлу или директории, изменения.
2. Сложности при ведении нескольких параллельных веток одного и того же проекта.
3. Ограниченная поддержка шрифтов.
4. Для каждого изменения бинарного файла сохраняется вся версия файла, а не только внесенное изменение.
5. С клиента на сервер измененный файл всегда передается полностью.
6. Ресурсоемкие операции, так как требуют частого обращения к репозиторию, и сохраняемые копии имеют некоторую избыточность.
Мы будем знает,что несмотря на то, что CVS устарела и обладает серьезными недостатками, она все еще является одной из самых популярных систем контроля версий и отлично подходит для управления небольшими проектами, не требующих создания нескольких параллельных версий, которые надо периодически объединять. CVS можно порекомендовать, как промежуточный шаг в освоении работы систем контроля версий, ведущий к более мощным и современным видам таких программ.
Использует CVS работать
Ø Повседневное использование
Теперь начнем создавать где-нибудь в отдельном каталоге (не каталоге с репозиторием!) рабочую копию. Создадим каталог для нашего проекта(linux):
Cvs co -l. $ mkdir hello
и поместим его в репозиторий:
Cvs add hello
Directory /home/cvsroot/hello added to the repository
Создадим внутри этого каталога файл с нашей программой:
=== hello.c ===
#include
int main() {
printf("hello world\n");
}
=== hello.c ===
и поместим этот файл под контроль версий:
Cvs add hello.c cvs add: scheduling file `hello.c' for addition cvs add: use 'cvs commit' to add this file permanently
Проверим, что программа компилируется и выполняется. У нас появилась первая ревизия, вполне пригодная к помещению в репозиторий. Сделаем же это:
Cvs commit -m "First revision" hello.c RCS file: /home/cvsroot/myproject/hello.c,v done Checking in hello.c; /home/cvsroot/myproject/hello.c,v <-- hello.c initial revision: 1.1 done
Отлично. Теперь притворимся, что мы долго и трудно работали, исправляя грамматику сообщения, которое выводит на экран наша программа, и в результате наш исходник начинает выглядеть так:
=== hello.c ===
#include
int main() {
printf("Hello, world!\n");
}
=== hello.c ===
Что же изменилось? Спросим у CVS:
$ cvs diff -u hello.c
Index: hello.c
===============================================
RCS file: /home/cvsroot/myproject/hello.c,v
retrieving revision 1.1
diff -u -r1.1 hello.c
--- hello.c 2013/12/01 22:16:35 1.1
+++ hello.c 2013/12/01 22:19:08
@@ -1,5 +1,5 @@
#include
int main() {
- printf("hello world\n");
+ printf("Hello, world!\n");
}
Вот в таком вот формате ("унифицированном diff-формате") CVS показывает нам изменения, произошедшие с файлом с того момента, когда он последний раз "фиксировался" в репозиторий. Легко видеть, что одна строка в файле была изменена: мы видим ее старое и новое состояния. Теперь, когда приветствием, выводимым программой, будет доволен любой корректор, можно зафиксировать и это изменение с помощью все той же команды:
Дата публикования: 2015-11-01; Прочитано: 300 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!