Вопрос

В настоящее время я работаю в команде, где мы "используем" репозиторий subversion.Я говорю "используя", потому что на самом деле все просто редактируют файлы непосредственно на сервере через общие ресурсы samba, в то время как время от времени наш архитектор делает коммит с этого сервера с нашими изменениями, которые затем передаются на серверы.

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

Я пытался вызвать некоторый интерес к распределенным системам и к тому, что рабочий процесс, который у нас есть, кажется, можно было бы очень хорошо настроить с помощью чего-то вроде git (мы фиксируем данные на наших локальных машинах, а затем отправляем ему наборы изменений для проверки), но я не чувствую, что у меня достаточно опыта работы с git.Большая часть моего опыта работы с DVCS была связана с mercurial.

Все в значительной степени работают в среде Windows, используя tortoisesvn, и именно так они привыкли взаимодействовать с системой, но иногда они используют PuTTY для работы на одном из серверов Linux и знают, как выполнить коммит в командной строке.

Каков путь к этому, я видел часть работы, проделанной для создания шлюзов между SVN и некоторыми DVCS, есть ли у кого-нибудь опыт настройки и работы в такой среде?

Как насчет полномасштабной миграции с SVN на DVCS?

Это было полезно?

Решение

Если ваша команда не может понять, как правильно использовать Subversion, я не знаю, как вы сможете заставить их понимать git. Тем более что они настроены так: «позволяет всем работать в одной рабочей копии». им будет трудно понять распределенную систему контроля версий.

По моему опыту, чтобы использовать svn-git, вы должны знать, как использовать git И вы должны знать, как использовать svn. Я бы рекомендовал научить их правильно использовать SVN.

Другие советы

Есть ли причина, по которой вы не хотите просто хранить свой SVN-репозиторий и использовать его так, как SVN предназначен для использования?

Почему бы просто не проверить и не объединить всех, не использовать ветки и т. д.? Зачем переключаться, если у вас есть настройки репозитория?

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

С другой стороны, я не понял, как вы используете tortoiceCVS для взаимодействия с SVN.

Мне кажется, что выбор системы контроля версий не является проблемой. Что вам нужно сделать, так это убедить архитектора в том, что он должен придумать некоторые разумные политики для использования системы контроля версий.

Ваша текущая система SVN будет вполне адекватной; Позвольте пользователям создавать ветки, если вам нужно сохранить хобот в чистоте. Архитектор может объединить их так, как ему нужно.

Теперь вы можете переместить DVCS, и для этого есть веские причины. Но если команда не привыкла использовать клиент-серверные rcs, это может оказаться проблематичным. И вы могли бы использовать git или hg локально, но это обходные пути к принципиально нарушенному использованию rcs. Сначала я советую всем использовать svn.

Редактирование файлов в общей папке samba ?? Шутки в сторону?!

git-svn - определенно - ваша лучшая ставка здесь. Вы сможете использовать все локальные средства управления версиями и изменять функции просмотра в git, но в конечном итоге можете нажать кнопку «окончательная версия». регистрация в вашем существующем хранилище SVN.

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

Существует также хороший курс, посвященный синтаксису git для пользователей svn , который вы можно использовать для ускорения работы вашей команды.

Ваша проблема не в самом SVN, а в неправильном его использовании.

Как мог бы сказать Стив Йегге: СЛИШКОМ МНОГО

Как говорят другие, если вы не можете заставить их использовать svn, они не будут использовать распределенный vcs.

Используют ли они IDE?Если это так, найдите плагины для IDE, которые упрощают использование svn.Таким образом, они могут щелкнуть правой кнопкой мыши по файлу или папке в IDE и зарегистрироваться.Если вы упростите использование системы управления версиями для локальной копии, чем для прямого доступа к центральным файлам, у вас может появиться шанс.Затем вы можете использовать TortoiseSVN для более сложных задач.

Несколько ссылок на плагины SVN для популярных IDE, чтобы вы могли начать:

И вот список плагинов IDE с веб-сайта subversion.

hg также неплохо работает с Subversion - см. https: // www. mercurial-scm.org/wiki/WorkingWithSubversion . Команда разработчиков ядра Python просто решила перейти с Subversion на Mercurial (после долгого обсуждения и периода, когда также рассматривались git и bazaar); В неродственной разработке бесплатный хостинг code.google.com для проектов с открытым исходным кодом добавил поддержку hg в свою давнюю поддержку svn.

git и bazaar хорошо поддерживают SVN. За последние несколько месяцев Infact Git-SVN немного повзрослел.

попробуйте git, потому что DVCS действительно хорош, и не так сложно, как вы это делаете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top