TortoiseGit, TortoiseBzr, TortoiseHg. Достаточно ли надежны, чтобы перейти с TortoiseSVN?

Я хотел бы попробовать распределенную систему контроля версий. Я использую пару компьютеров с Windows, пару компьютеров с Linux и Mac. На окнах я хотел бы использовать черепаху.

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

Я бы предпочел не испытывать все три. Кто-нибудь делает переключение в последнее время и имеет хороший опыт?

6 ответов

Решение

Я использую TortoiseGit некоторое время. Хотя это правда, что производительность git на окнах страдает, в большинстве ситуаций она будет вполне приемлемой. На мой взгляд, из трех упомянутых вами, Git, безусловно, обладает самой полированной "черепахой". И если вы привыкли использовать TortoiseSVN, переход на Git должен быть довольно плавным, так как TortoiseGit основан на кодовой базе TortoiseSVN и использует многие его принципы пользовательского интерфейса и дизайна.

У меня лично был хороший опыт с TortoiseHg. Он также устанавливает систему командной строки hg, так что вы можете перейти к ней, если вам нужно (или если вы предпочитаете делать контроль версий в командной строке). В интерфейсе есть несколько изюминок, но в целом он очень солидный (и если вы используете вид графика ревизий, он выглядит великолепно). Импорт Subversion Mercurial также фантастический.

Вы можете даже работать с Git-репозиториями, используя расширение hg-git для Mercurial, как упоминает пользователь CAD.

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

Вы хотите использовать его в Windows?

На сегодняшний день TortoiseHg лучше, чем TortoiseSVN, на мой взгляд. И он все еще улучшается очень быстро (я использовал его с версии 0.4, текущий 0.9.2 с Mercurial 1.4.2). Хорошая функция, например: просто сделайте много рефакторинга в вашей IDE и не заботьтесь о переименовании. Затем выберите функцию "Угадай переименования" в контекстном меню и получай удовольствие. Больше не будет битых историй, потому что вы использовали свой любимый инструмент переименования вместо 'svn move'.

Установка очень проста: загрузите и установите TortoiseHg и только одну перезагрузку. Теперь у вас есть текущая версия командной строки Mercurial и инструмент конвертации SVN. Это не что иное, как этот пакет.

Вы хотите использовать его в Linux?

"sudo apt-get install mercurial" - это все, что вам нужно (в системе на основе Debian) для использования командной строки Mercurial, но эта версия может быть не самой последней. Я знаю, что есть PPA-репозитории для Ubuntu и, возможно, также для Debian. Обновите список источников APT, импортируйте ключи, и вы сможете установить TortoiseHg с очень хорошей интеграцией в Gnome.

Извините, но я не знаю об установке на Mac.

DVCS имеет тенденцию быть полезным в любом случае. Как правило, это веселее, независимо от того, работаете ли вы в одиночку или работаете в огромной команде. Плюс: с clone+push+pull у вас также есть встроенное, быстрое и интеллектуальное резервное копирование.

Но есть и некоторые недостатки:

1) Если вы делитесь своей работой между Windows и любой системой *nix, вы должны использовать только символы ASCII для имен файлов. Ни Mercurial, ни Bazaar, ни Git не выполняют преобразование кодирования подобно Subversion (см. https://www.mercurial-scm.org/wiki/CharacterEncodingOnWindows). Любые французские акценты или немецкие умлауты испортят вашу работу при переключении между любой ОС, использующей UTF-8, и другой.

2) Вы не должны использовать много больших двоичных файлов. Mercurial не предназначен для этой цели, и я не думаю, что Bazaar или Git были бы более забавны в этом.

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

Тем не менее, Google решил использовать Mercurial (Hg) в качестве распределенного контроля версий в Google Code. Большая часть рассуждений была связана со скоростью, гибкостью и простотой использования. Конечно, набор команд Hg, на мой взгляд, выглядит намного дружелюбнее, чем набор команд Git, и он хорошо сочетается со старыми SVN-репозиториями.

Я действительно просто хотел добавить комментарий к предложениям о TortoiseHG, но комментарии закрыты,

Как добавить репозиторий ppa в linux (замените oneiric вашей версией):

  1. Добавьте следующие записи в менеджер пакетов:

    deb http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu oneiric main 
    deb-src http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu oneiric main 
    
  2. Добавьте следующие записи в менеджер пакетов:

    deb http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu oneiric main 
    deb-src http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu oneiric main
    

    ВАЖНО: Поскольку для текущих версий TortoiseHg часто требуется более новая версия самой Mercurial, чем та, которую поставляет сама Ubuntu, вам также потребуется добавить этот PPA.

  3. Чтобы настроить APT для доверия ключу подписи этого репозитория, выполните:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 323293EE
    
  4. Если у вас установлены более старые версии, сначала вы хотите удалить их.

    sudo apt-get --purge remove mercurial
    sudo apt-get --purge remove tortoisehg
    
  5. шаг

    sudo apt-get install mercurial
    sudo apt-get install tortoisehg
    

Вы планируете перейти на другие VCS? Поскольку при переходе на TortoiseGit/Bzr/Hg вы не сможете получить доступ к репозиториям SVN. Я работаю с GIT через TortoiseGit, но он построен поверх TortoiseSVN и имеет аналогичную производительность.

Если вы просто ищете альтернативу для использования SVN, вам стоит взглянуть на RapidSVN. Это все еще хорошо и намного быстрее чем Черепаха, это также работает на Mac и Linux.

Надеюсь это поможет!

Оставить комментарий Редактировать

Вы должны рассмотреть Git. Это современная распределенная VCS, созданная, чтобы быть очень быстрой и гибкой, у нее очень большое и сильное сообщество. Многие крупные проекты используют Git, такие как Linux (Kernel) и Ruby On Rails.

Подробнее о Git: http://git-scm.com/, http://whygitisbetterthanx.com/

Другие вопросы по тегам