На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> CVS vs SVN
    Хотелось бы услышать мнения опытных людей, чем SVN лучше/хуже CVS.
    Сообщение отредактировано: wind -
      Знать бы еще, что это такое...

      Цитата Wikipedia
      CVS (Concurrent Versions System) является системой управления версиями (version control system): она хранит историю изменений определённого набора файлов, как правило исходного кода программного обеспечения, и облегчает совместную работу группы людей (часто — программистов) над одним проектом


      Неужели это имелось ввиду?
        Системы контроля версий. Википедия: CVS, SVN.
          Цитата wind @
          SVN


          Ну, там же приведены преимущества перед CVS по пунктам...

          Цитата Wikipedia
          Отличия от CVS

          * Subversion отслеживает версии не только файлов, но и каталогов.
          * Если изменения сделаны в нескольких файлах и каталогах, они публикуются как одна транзакция. Это значит, что либо в хранилище попадают все изменения, либо состояние хранилища не изменяется.
          * При любых обновлениях версий, между клиентом и сервером передаются только различия между файлами.
          * Subversion поддерживает копирование, перемещение и переименование файлов с сохранением истории изменений.
          * С каждым файлом и каталогом может быть связан произвольный набор свойств, состоящих из названия и значения. Свойства тоже находятся под управлением версиями.
          * Subversion одинаково эффективно работает как с текстовыми, так и с двоичными файлами.
          * Начиная с версии 1.2, поддерживается необязательная блокировка файлов.
          * В Subversion нет меток (tag) и веток (branch), как таковых (см. Словарь). Вместо них используется иерархия каталогов — для каждой ветки или метки создаётся отдельный каталог. Создание таких каталогов — быстрая и дешёвая операция, потому что данные не дублируются, вместо этого публикуется новая версия, отличающаяся от предыдущей лишь расположением файлов.
            Цитата B.V. @
            Ну, там же приведены преимущества перед CVS по пунктам...

            Это мне как раз не очень интересно. На заборе чего только не напишут :P

            Вот что люди говорят:

            Цитата
            Цитата
            переименование папок с сохранением истории

            Фикция. Именно из-за этого мы и переходили на SVN. Сейчас на половину файлов имеем 404 ошибку при запросе ранних (до всяческих миграций) версий.
            <...>
            нормально merge сделать НЕВОЗМОЖНО. Раз в месяц мы регулярно теряем какие-то изменения. Именно в результате merge. В CVS я легко сливал два бранча с изменениями в 100-200 файлах.


            Кроме того:

            Цитата
            Subversion поддерживает копирование, перемещение и переименование файлов с сохранением истории изменений

            Вынесено отдельным пунктом, хотя повторяет первый, а в отсутствии возможности копирования, перемещения и переименования файлов и каталогов CVS обвинить никак нельзя.

            Цитата
            Начиная с версии 1.2, поддерживается необязательная блокировка файлов

            Такая же фигня. Можно подумать, что этого нету или не было в CVS.

            Цитата
            Subversion одинаково эффективно работает как с текстовыми, так и с двоичными файлами

            Это вообще какая-то галиматья. СКВ либо поддерживает двоичные файлы, либо нет.
            Сообщение отредактировано: wind -
              Вот эта фраза за все говорит "subversion разработана специально для замены CVS"
                Цитата ...:::Alex:::... @
                Вот эта фраза за все говорит "subversion разработана специально для замены CVS"

                "Разработано для замены" и "в состоянии заменить" - это две большие разницы ;) Не говоря уже про "замена имеет смысл".
                Сообщение отредактировано: wind -
                  Цитата wind @
                  Это вообще какая-то галиматья. СКВ либо поддерживает двоичные файлы, либо нет.

                  Дело не в том, поддерживает или нет, а в том - насколько эффективно работает. Именно так. Например, CVSNT (виндовая версия этой системы) до некоторого времени криво работала с бинарными файлами. А именно - у нее были проблемы с сохранением истории их изменений, из за чего можно было достать только последнюю версию. В данном случае, видимо, имеется ввиду, что, также как и для текстовых файлов, для бинарных SVN гоняет по сети только изменения от версии к версии.
                    Насколько я слышал, SVN позволяет переимещать и переименовывать файлы, а вот в CVS с этим... Ну в общем делается через то самое место, через которое все принято делать :)
                      Цитата linuxfan @
                      Насколько я слышал, SVN позволяет переимещать и переименовывать файлы, а вот в CVS с этим...

                      Никаких проблем: "cvs remove", "cvs add", "cvs rename". А еще?
                      Сообщение отредактировано: wind -
                        Цитата 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 пустой каталог, иногда нужно. А в целом разница не так принципиальна, чтобы срочно переезжать.
                          Цитата tux @
                          Делаем checkout нужной ревизии, получаем все, что там на тот момент было, вместе с каталогами и файлами, которых уже нет. В CVS так не получится.

                          Почему это? Или имеется в виду - без меток и веток?
                            Цитата wind @
                            Почему это? Или имеется в виду - без меток и веток?

                            Звиняюсь, ты прав. У него ведь все на чердак складывается и все восстановимо.
                              Пользуемся SVN. Иногда бывают глюки, типа, не обновляется то-то и то-то по неизвестной причине, но есть кнопочка "recover", которая в 99% случаев помогает. Других неудобств не замечено...
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0336 ]   [ 15 queries used ]   [ Generated: 1.05.24, 20:43 GMT ]