Подтвердить что ты не робот

Должен ли я смотреть на системы контроля версий за пределами Subversion?

В течение прошлого года я стал зависимым от подрывной деятельности. Я единственный разработчик, и я также работаю над несколькими своими проектами. С SVN его очень легко обойти все - и потому, что он размещен на онлайн-сервере, хотя HTTPS я могу получить доступ к своему коду из любого места. Это также отлично подходит для развертывания кода на наших серверах производства/разработки.

Я хочу сказать, что он делает все, что мне нужно для этого, и никогда не подводил меня.

Есть ли что-нибудь лучше? Не хватает ли какой-либо функции в другом продукте, который я мог бы использовать, чтобы облегчить мою жизнь? Я всегда использую лучшее программное обеспечение и не испытываю проблем с переходом на новые технологии.

Я слышал о GIT и сделал некоторые исследования. Я планирую попробовать это, но пока я воюю с этим, существуют ли еще другие системы управления версиями, которые считаются "стандартом для промышленности", и делают ли они что-то лучше, чем SVN?

4b9b3361

Ответ 1

Git, Mercurial и Bazaar - это распределенные системы управления, которые используют идею о том, что вы не всегда подключены к сети, и что не должно быть одной центральной версии репозитория.

Если вы делаете много отрывной работы, иногда называемой "самолетом", так как вы на самолете и не можете совершить, взгляните на базар. Мне было легче акклиматизироваться, чем Git или Mercurial.

Если вы всегда выполняете работу, связанную с сетью, и вы единственный разработчик, то вы, вероятно, можете использовать Subversion.

Кроме того, рассмотрите значение сохранения вашего домашнего каталога в Subversion.

Ответ 2

Mercurial

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

  • Mercurial может масштабироваться от одной группы до огромного, т.е. OpenJDK, без большой головной боли.
  • Mercurial быстро, возможно, не так быстро, как GIT, но он по-прежнему очень быстрый
  • Mercurial Queues - это фантастический способ управления исправлениями. На скорости смазанного освещения.
  • Он может работать на разных ОС, совместимость велик, поскольку он основан на python.
  • кривая обучения ниже, чем GIT, после нескольких прочитанных документов вы получаете основной смысл вещей (http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/)
  • hg позволяет (так же, как и многие DSVC) вам взаимодействовать с корпоративным элементом управления SVN с помощью hg-svn и hgsubversion, который является прекрасным расширением с разрешениями и проверками, но еще не нажимающими или не выполняющими функции.
  • Вы также можете настроить запуск HTTP-сервера и вытащить его через SSH
  • также имеет действительно опрятный вариант совместного использования с вашими друзьями-кодировщиками и просто запуск HTTP-сервера, который запускает его поверх локального хоста, и ваши помощники могут нажать и вытащить, пока вы выполняете спринт кода.
  • Вы также можете увидеть текущий статус проекта с помощью этой HTTP-страницы.
  • Наконец, посмотрите краткое описание простых команд (http://edong.net/2008v1/docs/dongwoo-Hg-PDF.pdf)

Git

  • попробовал, его поддержка svn лучше, чем mercurial. но поскольку hgsubversion находится на подъеме и становится конкурентом для git svn.

Git классно, но вам нужно постоянно поддерживать исходный код депо и переупаковывать его. Поскольку он состоит из многих скриптов bash, у него проблемы с работой на окнах. Но это невероятно быстро, с множеством функций для вас. На самом деле количество функций может быть недостатком.

BZR

  • никогда не пробовал.

Я havnt оглянулся, так как начал с HG

Ответ 3

Я лично останусь с Subversion. С точки зрения профессионала я видел гораздо больше заданий (и знаю), что Subversion сравнивалось с GIT. Также есть много открытых и бесплатных инструментов, построенных вокруг Subversion, не говоря уже о огромном сообществе Subversion.

Контроль источника не всегда относится к последним и самым большим, но чаще всего о том, что испробовано и верно.

Ответ 4

Лучшей причиной для изменения является необходимость. Однако, похоже, нет никакой реальной необходимости в изменении. Вы - "Армия одного", поэтому большинство мощных функций не относятся к вашей ситуации. Да, люди будут спорить со мной по этому поводу, однако они будут настаивать на этой функции или на той функции, которая, скорее всего, вам действительно не нужна. Сроки - это все, если в будущем ваши потребности изменятся, тогда измените свое решение.

Там всегда будут лучшие или разные решения для проблемного пространства, в данном случае контроля источника, однако вы должны балансировать личное развитие, совершенствование процессов/практики и доставку рабочего продукта. Вы можете узнать больше о различных решениях/приложениях для управления версиями, чтобы расширить свои знания, чтобы узнать, когда пришло время переключать решения, но придерживайтесь того, что работает на данный момент.

Ответ 5

Вот 3 причины перехода на git из Subversion (от MarkMcB):

  • Бесконечные, простые, не файловые системы, локальные ветки
  • Временная работа для временного хранения
  • Сотрудничество перед публичными коммитами

(Прочитайте связанную статью для полных объяснений и прямых сравнений того, как делать три вещи как в git, так и в Subversion.)

Ответ 6

Я также лично останусь с Subversion, Что-нибудь лучше?

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

Ответ 7

Mercurial также заслуживает внимания; ветвление гораздо более дружелюбное, и оно может работать без сетевого подключения. Я никогда серьезно не пытался отделить работу до ветвей, пока не перешел из SVN в Mercurial.

Одна вещь, которую я очень скучаю, - TortoiseSVN; там workalike (TortoiseHg), который довольно хорош, но это просто не то же самое.

Во всяком случае, создание репозитория Mercurial из SVN одно просто трилогично... попробуйте и посмотрите, подходит ли оно вам или нет.

Ответ 8

Правило №. 1: "Никогда не меняйте запущенную систему" ​​

Кроме того, поскольку есть много блестящих новых решений (для проблем, которые у вас нет, поскольку вы работаете в одиночку), вы должны учитывать стоимость перехода на новый VCS: Импорт подрывной деятельности в Mercurial/ git - непростая задача.

нет инструмента (AFAIK), который импортирует svn-repos с помощью dumpformat. Поэтому, если вы не используете dumpformat, вы будете придерживаться проверки всех ветвей/тегов из svn и добавления их в git/BZR/Mercurial вручную/через script

Поэтому я не знаю, насколько велики ваши репозитории (мои репозитории варьируются от 20 до 24 ГБ), но для проверки всего репо и даже небольших проектов потребуется долгое время много тегов съедят много жесткого диска.

Дополнительная проблема - это время, пока ваша миграция не будет выполнена, вы не сможете продолжать работать.

Ответ 9

Я точно так же, как и вы, в вопросе постоянного исследования, чтобы получить лучший инструмент.

Я попробовал SVN для работы SOLO, и кто-то рекомендовал меня Mercurial (hg). Теперь я делаю квитанции об этом. Это более дружелюбно, чем git в окнах. Теперь я думаю: "Почему svn усложняет простую задачу, такую ​​как теги". SVN не знает, что такое тег. Для SVN тег - это копия. В mercurial тег является псевдонимом для пересмотра. Насколько это сложно?

Это еще одна проблема. В Mercurial ваше репо это на вашей локальной машине. Так что это очень быстро для журнала, или diff или истории.

Хотя я ничего не знаю о серверах, которые поддерживают mercurial для онлайн-версии вашего репо.

Ответ 10

Если SVN отвечает всем вашим потребностям, я не вижу причины для изменения. Если любопытство является драйвером вашего поиска для другого источника контроля, я бы рекомендовал прочитать о git или другом распределенном решении scm и попытаться выяснить, стоит ли инвестировать для переключения (что я сомневаюсь, что это в вашей ситуации).

Ответ 11

Там была старая пословица янки.

Если он не сломался, не исправляйте его.

Ответ 12

Конечно, стоит посмотреть на "распределенный" VC, даже если вы фактически не используете распределенный рабочий процесс. Уметь иметь частные ветки и контролировать свои локальные коммиты стоит усилий по изучению git. В основном я использовал git -svn (с другими членами команды, использующими обычные SVN-клиенты, поэтому у нас был нормальный, централизованный рабочий процесс), и он работал довольно безупречно.