Несколько человек работают над хранилищем SVN - PullRequest
0 голосов
/ 06 апреля 2011

Допустим, я разрабатываю приложение с парой друзей через SVN (Subversion) репозиторий.Нам 5 лет, и мы разделили работу на 5 частей.

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

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

Редактировать: этоСУБВЕРСИОННЫЙ вопрос.никаких мерзких / меркуриальных обсуждений здесь, пожалуйста!

Ответы [ 5 ]

3 голосов
/ 06 апреля 2011

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

Отключение от Интернета не будет иметь большого значения для вас, так как каждый из вас будет разрабатывать отдельный фрагмент. Вытащите последнюю версию из SVN перед тем, как потерять интернет, а затем, когда он станет резервным, просто внесите изменения.

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

2 голосов
/ 06 апреля 2011

Если у вас нет подключения к интернету, вам нужна распределенная VCS, а svn, насколько мне известно, не один. Aformentioned git - очень хорошая распределенная VCS.

Если вы застряли с svn, вы можете подключить к нему локальные репозитории git, чтобы распределить его. Я делаю это для одного из моих проектов. Это дает вам множество преимуществ git, но это немного сложнее, чем обычное использование git. См. git-svn man страницу для получения дополнительной информации.

В частности, см. Раздел «ОСНОВНЫЕ ПРИМЕРЫ».

# To create the local repo.
git svn clone http://svn.example.com/project/trunk

# Commit as usual:
git commit ...

# To push to SVN:
git svn fetch
git svn rebase
git svn dcommit

# Don't create branches in git. Create them in svn.
git svn branch branch_name

Обновление : добавлена ​​шпаргалка по использованию.

2 голосов
/ 06 апреля 2011

Используя subversion, вы можете легко работать в своей собственной ветви, а затем просто сливаться с ней и реинтегрироваться в ствол. Более подробную информацию можно найти здесь

Вы не можете выполнить коммит, если у вас нет доступа к Интернету с использованием subversion, если вы не используете что-то вроде git в качестве локального (для вашей машины) источника управления и не используете git-svn для push / pull в / из вашей основной subversion хранилище, когда вы вернетесь в зону покрытия

1 голос
/ 06 апреля 2011

На самом деле ваши требования приводят непосредственно к использованию DVCS вместо Subversion.Конкретные проблемы, о которых вы говорите (, особенно отправка во время путешествия / пребывания в автономном режиме), решаются любым DVCS (например, git).

Если вы настаиваете на использовании Subversion, вам придется использовать ветки(мы называем такие частные ветки разработки «рабочими пространствами» в нашей компании) и объединяем их с основным филиалом, когда это удобно.Совершенно очевидно, что фиксация в автономном режиме в Subversion невозможна.(Я мог бы представить какой-то слишком сложный способ, который был бы совершенно неуправляемым и совершенно бесполезным на практике.) Раньше был хороший инструмент, работающий «поверх» SVN, называемый SVK , но он больше не разрабатывался.

1 голос
/ 06 апреля 2011

Так что у меня будет ствол, а затем 5 веток. Каждый регистрируется в своей ветке, а затем раз в день / неделю или что-то еще, что вы, ребята, собираете вместе, и все рабочие ветки сливаются в ствол. Что касается мест без подключения к интернету, то вам следует переключиться на git / merc, которые имеют локальную форму хранилища.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...