kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 shsteimer
shsteimer
Вопрос

В чем преимущества использования SVN перед CVS?

Моя компания использует CVS в качестве стандарта де-факто для контроля исходных текстов. Однако я слышал, как многие люди говорят, что SVN лучше.

Я знаю, что SVN новее, но кроме этого, я не знаком с его преимуществами.

Я ищу хорошее, краткое сравнение этих двух систем, отмечая любые преимущества или недостатки каждой из них в среде разработки Java/Eclipse.

58 2008-08-04T14:06:48+00:00 12
Troy Alford
Troy Alford
Редактировал вопрос 11-го апреля 2013 в 8:22
Программирование
svn
version-control
cvs
Решение / Ответ
Vincent Robert
Vincent Robert
4-го августа 2008 в 2:17
2008-08-04T14:17:59+00:00
Дополнительно
Источник
Редактировать
#8407389

CVS отслеживает изменения только по файлам, в то время как SVN отслеживает весь коммит как новую ревизию, что означает, что легче отслеживать историю вашего проекта. Добавьте к этому тот факт, что все современные программы контроля исходных текстов используют концепцию ревизий, поэтому перейти с SVN гораздо проще, чем с CVS.

Существует также проблема атомарного коммита. Хотя я столкнулся с ней лишь однажды, возможно, что два человека, совершающие совместную фиксацию в CVS, могут конфликтовать друг с другом, теряя некоторые данные и вводя вашего клиента в противоречивое состояние. При раннем обнаружении эти проблемы не являются серьезными, поскольку ваши данные все еще где-то там, но это может быть неприятно в напряженной обстановке.

И, наконец, не так много инструментов разрабатывается вокруг CVS. В то время как для новых и блестящих инструментов, таких как Git или Mercurial, инструментов определенно пока не хватает, SVN имеет довольно большую базу приложений в любой системе.

РЕДИТ 2015: Серьезно, этому ответу уже 7 лет. Забудьте SVN, используйте Git, как все остальные!

Vincent Robert
Vincent Robert
Редактировал ответ 10-го октября 2015 в 7:12
61
0
Michael Stum
Michael Stum
4-го августа 2008 в 2:09
2008-08-04T14:09:54+00:00
Дополнительно
Источник
Редактировать
#8407387

Одно из многочисленных сравнений:

http://wiki.scummvm.org/index.php/CVS_vs_SVN

Это очень специфично для данного проекта, но многие вещи применимы в целом.

Pro Subversion:

  • Поддержка версионных переименований/перемещений (невозможно в CVS): Финголфин, Эндер
  • Поддерживает каталоги нативно: Их можно удалять, и они версионируются: Fingolfin, Ender
  • Свойства файлов версионируются; больше нет "исполняемого бита" ада: Финголфин
  • Общий номер ревизии значительно упрощает версионность сборки и регрессионное тестирование: Ender, Fingolfin
  • Атомарные коммиты: Fingolfin
  • Интуитивное (основанное на каталогах) ветвление и тегирование: Fingolfin
  • Более простые скрипты хуков (pre/post commit, etc): SumthinWicked (я использую его для Doxygen после коммитов)
  • Предотвращение случайной фиксации конфликтующих файлов: Salty-horse, Fingolfin
  • Поддержка пользовательской команды 'diff': Fingolfin
  • Автономные диффы, и они мгновенны: sev
19
0
lubos hasko
lubos hasko
4-го августа 2008 в 2:35
2008-08-04T14:35:12+00:00
Дополнительно
Источник
Редактировать
#8407391

У SVN есть 3 главных преимущества перед CVS

  • it' s быстрее
  • управление версиями поддержек бинарных файлов
  • и добавляет транзакционный, передают (все или ничего)
14
0
 Mat
Mat
4-го августа 2008 в 2:14
2008-08-04T14:14:14+00:00
Дополнительно
Источник
Редактировать
#8407388

В книге по Subversion есть приложение, в котором подробно описаны важные отличия от CVS, что может помочь вам принять решение. Идея этих двух подходов более или менее одинакова, но SVN был специально разработан для устранения давних недостатков CVS, поэтому, по крайней мере, теоретически, SVN всегда будет лучшим выбором.

7
0
Steven Dick
Steven Dick
18-го августа 2008 в 5:04
2008-08-18T17:04:41+00:00
Дополнительно
Источник
Редактировать
#8407394

I' ll второй Eridius' предложение Мерзавца, но I' d расширяют его до другого DRCS (Распределенная Система управления Пересмотра) такой как Подвижный и базар.

Эти продукты довольно недавние и уровень набора инструментов, и интеграция с ними кажется низкой в данный момент (на основе моего начального исследования). I' d говорят, что подходили лучше всего для разработчиков власти там (и на здесь;-)).

С другой стороны, что doesn' t CVS в настоящее время делают для Вас? От Вашего начального вопроса, Вы don' t действительно имеют любого, " CVS сосет в этом, что я мог использовать вместо этого? "

You' ve должен уравновесить затраты на любую потенциальную миграцию против преимуществ. Для существующего проекта я думаю, что было бы трудно оправдать.

4
0
 engtech
engtech
18-го августа 2008 в 5:22
2008-08-18T17:22:05+00:00
Дополнительно
Источник
Редактировать
#8407395

Одной вещью не пропустить является экосистема. Я работал в магазине CVSNT, и я находил, что все более общедоступные инструменты поддержали SubVersion по умолчанию.

4
0
Kris Erickson
Kris Erickson
4-го сентября 2008 в 5:44
2008-09-04T17:44:16+00:00
Дополнительно
Источник
Редактировать
#8407396

Как кто-то, кто посреди переключения между CVS и SVN (первоначально мы переключили все наши проекты с cvs2svn и затем решили, что перейдем, только используя svn на новых проектах), вот некоторые проблемы, которые мы имели.

  • Слияние и переход очень отличаются, и если Вы ветвитесь и часто сливаетесь, если у Вас нет SVN 1.5, работающего на Вашем сервере, должны знать, когда Вы ветвились (этот isn' t очень ясный у Черепахи диалоги SVN). Майкл говорит, что переход и слияние интуитивны, я утверждал бы, что после использования CVS в течение 10 лет, это не.
  • Если Ваш управляют сервером SVN на Linux, может быть трудно заставить Ваш SA двигаться в svn 1.5, поскольку дефолт устанавливает 1.4.x.
  • Слияние конфликтов совсем не столь же легкое или четкое (по крайней мере, мне и моим коллегам) в TortoiseSVN, как это находится в TortoiseCVS. Три подхода стекла берут некоторых привыкающих к и WinMerge (мой предпочтительный инструмент слияния) doesn' t делают три слияния стекла.
  • Остерегайтесь: многие обучающие программы онлайн и статьи журнала я читал, очевидно, don' t отделение и слияние, Вы должны открыть свое главное хранилище как https://svn.yoursvnserver.com/repos/YourProject/Trunk и отделения на https://svn.yoursvnserver.com/repos/YourProject/Branches/BranchX. Вы можете вымыться, если Вы начинаете свой repos в неправильном месте, но это приводит к беспорядку.
2
0
David Sykes
David Sykes
18-го августа 2008 в 4:22
2008-08-18T16:22:00+00:00
Дополнительно
Источник
Редактировать
#8407393

btw: CVSNT поддерживает атомный, передает

2
0
Lily Ballard
Lily Ballard
6-го августа 2008 в 11:09
2008-08-06T23:09:43+00:00
Дополнительно
Источник
Редактировать
#8407392

Вы должны смотреть на Мерзавца вместо SVN. It' s < название акронима =" Распределенный Контроль Вариантов System" > DVCS that' s сверкание быстро и очень сильный. It' s не столь легкий в использовании как SVN, но it' s улучшающийся в том отношении и it' s не , что трудно, чтобы учиться.

1
0
 vidy
vidy
17-го июля 2018 в 7:19
2018-07-17T07:19:01+00:00
Дополнительно
Источник
Редактировать
#8407399

CVS (Параллельная Система Вариантов) и SVN (Подрывная деятельность) являются двумя файловыми системами контроля вариантов, которые обычно используются командами, которые сотрудничают на единственном проекте. Эти системы позволяют сотрудникам отслеживать изменения, которые внесены и знают, кто развивается, который и должно ли отделение быть применено к главному стволу или нет. CVS - значительно старше из двух, и это был стандартный инструмент сотрудничества для большого количества людей. SVN намного более новый, и он вводит много улучшений, чтобы обратиться к требованиям большинства людей.

1
0
 webwesen
webwesen
8-го октября 2008 в 4:19
2008-10-08T16:19:04+00:00
Дополнительно
Источник
Редактировать
#8407397

Вы также могли бы мигрировать только последний кодекс от CVS в SVN, и заморозить Ваш ток CVS repo. это сделает миграцию легче, и Вы могли бы также построить свои устаревшие выпуски в старом CVS repo.

0
0
 richie
richie
18-го сентября 2016 в 2:01
2016-09-18T14:01:16+00:00
Дополнительно
Источник
Редактировать
#8407398

Ну, несколько вещей, которые я чувствую, делают svn потрясающий.

  1. Комбинация сурового испытания SVN-Altassian - намного превосходящий метод обзоров и проверок качества
  2. Лучшее управление конфликтами и слияниями
  3. It' s, очевидно, быстрее для взятия контроля, выполнение передает и т.д.
  4. Атомные передают проблему - возможно, что 2 человека, передающие вместе в CVS, могут находиться в противоречии друг друга, теряя некоторые данные и помещая Вашу кодовую базу в непоследовательное государство

Миграция может легко быть сделана через несколько часов, используя cvs2svn.

0
0
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 6 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
ID
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией