Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.199.243] |
|
Сообщ.
#1
,
|
|
|
Хотелось бы услышать мнения опытных людей, чем SVN лучше/хуже CVS.
|
Сообщ.
#2
,
|
|
|
Знать бы еще, что это такое...
Цитата Wikipedia CVS (Concurrent Versions System) является системой управления версиями (version control system): она хранит историю изменений определённого набора файлов, как правило исходного кода программного обеспечения, и облегчает совместную работу группы людей (часто — программистов) над одним проектом Неужели это имелось ввиду? |
Сообщ.
#4
,
|
|
|
Цитата wind @ SVN Ну, там же приведены преимущества перед CVS по пунктам... Цитата Wikipedia Отличия от CVS * Subversion отслеживает версии не только файлов, но и каталогов. * Если изменения сделаны в нескольких файлах и каталогах, они публикуются как одна транзакция. Это значит, что либо в хранилище попадают все изменения, либо состояние хранилища не изменяется. * При любых обновлениях версий, между клиентом и сервером передаются только различия между файлами. * Subversion поддерживает копирование, перемещение и переименование файлов с сохранением истории изменений. * С каждым файлом и каталогом может быть связан произвольный набор свойств, состоящих из названия и значения. Свойства тоже находятся под управлением версиями. * Subversion одинаково эффективно работает как с текстовыми, так и с двоичными файлами. * Начиная с версии 1.2, поддерживается необязательная блокировка файлов. * В Subversion нет меток (tag) и веток (branch), как таковых (см. Словарь). Вместо них используется иерархия каталогов — для каждой ветки или метки создаётся отдельный каталог. Создание таких каталогов — быстрая и дешёвая операция, потому что данные не дублируются, вместо этого публикуется новая версия, отличающаяся от предыдущей лишь расположением файлов. |
Сообщ.
#5
,
|
|
|
Цитата B.V. @ Ну, там же приведены преимущества перед CVS по пунктам... Это мне как раз не очень интересно. На заборе чего только не напишут Вот что люди говорят: Цитата Цитата переименование папок с сохранением истории Фикция. Именно из-за этого мы и переходили на SVN. Сейчас на половину файлов имеем 404 ошибку при запросе ранних (до всяческих миграций) версий. <...> нормально merge сделать НЕВОЗМОЖНО. Раз в месяц мы регулярно теряем какие-то изменения. Именно в результате merge. В CVS я легко сливал два бранча с изменениями в 100-200 файлах. Кроме того: Цитата Subversion поддерживает копирование, перемещение и переименование файлов с сохранением истории изменений Вынесено отдельным пунктом, хотя повторяет первый, а в отсутствии возможности копирования, перемещения и переименования файлов и каталогов CVS обвинить никак нельзя. Цитата Начиная с версии 1.2, поддерживается необязательная блокировка файлов Такая же фигня. Можно подумать, что этого нету или не было в CVS. Цитата Subversion одинаково эффективно работает как с текстовыми, так и с двоичными файлами Это вообще какая-то галиматья. СКВ либо поддерживает двоичные файлы, либо нет. |
Сообщ.
#6
,
|
|
|
Вот эта фраза за все говорит "subversion разработана специально для замены CVS"
|
Сообщ.
#7
,
|
|
|
Цитата ...:::Alex:::... @ Вот эта фраза за все говорит "subversion разработана специально для замены CVS" "Разработано для замены" и "в состоянии заменить" - это две большие разницы Не говоря уже про "замена имеет смысл". |
Сообщ.
#8
,
|
|
|
Цитата wind @ Это вообще какая-то галиматья. СКВ либо поддерживает двоичные файлы, либо нет. Дело не в том, поддерживает или нет, а в том - насколько эффективно работает. Именно так. Например, CVSNT (виндовая версия этой системы) до некоторого времени криво работала с бинарными файлами. А именно - у нее были проблемы с сохранением истории их изменений, из за чего можно было достать только последнюю версию. В данном случае, видимо, имеется ввиду, что, также как и для текстовых файлов, для бинарных SVN гоняет по сети только изменения от версии к версии. |
Сообщ.
#9
,
|
|
|
Насколько я слышал, SVN позволяет переимещать и переименовывать файлы, а вот в CVS с этим... Ну в общем делается через то самое место, через которое все принято делать
|
Сообщ.
#10
,
|
|
|
Цитата linuxfan @ Насколько я слышал, SVN позволяет переимещать и переименовывать файлы, а вот в CVS с этим... Никаких проблем: "cvs remove", "cvs add", "cvs rename". А еще? |
Сообщ.
#11
,
|
|
|
Цитата wind @ Фикция. Именно из-за этого мы и переходили на SVN. Сейчас на половину файлов имеем 404 ошибку при запросе ранних (до всяческих миграций) версий. Не знаю в чем проблема, возможно восстанавливали базу из бэкапа только начиная с какой-то ревизии. Делаем checkout нужной ревизии, получаем все, что там на тот момент было, вместе с каталогами и файлами, которых уже нет. В CVS так не получится. Цитата wind @ нормально merge сделать НЕВОЗМОЖНО. Раз в месяц мы регулярно теряем какие-то изменения. Именно в результате merge. В CVS я легко сливал два бранча с изменениями в 100-200 файлах. Честно говоря не заметил никакой разницы в мёрдже в CVS и Subversion, все тоже самое. Сливаются ветки нормально. Опять-таки не знаю в чем проблема, не сталкивался ни разу. Цитата Flex Ferrum @ В данном случае, видимо, имеется ввиду, что, также как и для текстовых файлов, для бинарных SVN гоняет по сети только изменения от версии к версии. Именно так, у subversion команда diff в отличие от CVS работает и с бинарными файлами, поэтому передаются по сети только изменения относительно предыдущей ревизии. Еще что хотелось бы отметить. В Subversion ревизия - это не версия файла, а версия репозитория, то есть в одной ревизии могут быть изменения множества файлов. В CVS ревизия - это версия одного файла и на весь репозиторий не влияет. В Subversion поддерживаются транзакции - то есть из набора файлов, над которым выполняется операция commit, либо все заливаются в репозиторий либо ни один. Есть, правда сомнения насчет полезности транзакций. А вот побочный эффект есть. Если имеется горе-админ, который восстановил репозиторий из резервной копии, у которой ревизия меньше, чем локальные копии у клиентов, то корректно синхронизироваться с репозиторием не получится. Придется делать checkout и вручную переносить свои изменения. По крайней мере, по-другому не получилось. В общем использую сейчас во всех проектах, есть определенные плюсы, например, четко вижно где файл только добавлен в контроль версий, в где изменен, можно добавить в SVN пустой каталог, иногда нужно. А в целом разница не так принципиальна, чтобы срочно переезжать. |
Сообщ.
#12
,
|
|
|
Цитата tux @ Делаем checkout нужной ревизии, получаем все, что там на тот момент было, вместе с каталогами и файлами, которых уже нет. В CVS так не получится. Почему это? Или имеется в виду - без меток и веток? |
Сообщ.
#13
,
|
|
|
Цитата wind @ Почему это? Или имеется в виду - без меток и веток? Звиняюсь, ты прав. У него ведь все на чердак складывается и все восстановимо. |
Сообщ.
#14
,
|
|
|
Пользуемся SVN. Иногда бывают глюки, типа, не обновляется то-то и то-то по неизвестной причине, но есть кнопочка "recover", которая в 99% случаев помогает. Других неудобств не замечено...
|