Номер редакции Subversion в нескольких проектах - PullRequest
24 голосов
/ 19 августа 2008

При использовании Subversion (svn) для управления исходным кодом в нескольких проектах я заметил, что номер ревизии увеличивается во всех каталогах моих проектов. Чтобы проиллюстрировать мой макет SVN (используя вымышленные имена проектов):

    /NinjaProg/branches
              /tags
              /trunk
    /StealthApp/branches
               /tags
               /trunk
    /SnailApp/branches
             /tags
             /trunk

Когда я выполняю фиксацию в стволе Программы Ninja, скажем, я получаю, что она обновлена ​​до версии 7. На следующий день, допустим, я внес небольшое изменение в приложение Stealth, и оно возвращается как ревизия. 8.

Вопрос заключается в следующем: Является ли общепринятой практикой, когда при ведении нескольких проектов с одним сервером Subversion, число несвязанных проектов увеличивается во всех проектах? Или я делаю это неправильно и должен создавать индивидуальные репозитории для каждого проекта? Или это что-то совсем другое?

РЕДАКТИРОВАТЬ: Я отложил пометку ответа, потому что стало ясно, что есть причины для обоих подходов, и хотя этот вопрос возник первым, я хотел бы указать на некоторые другие вопросы, которые в конечном счете, задавая тот же вопрос:

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

Один репозиторий SVN или много?

Ответы [ 17 ]

1 голос
/ 22 апреля 2013

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

На самом деле, если вы строите код Microsoft и используете номера ревизий svn как часть строки версии, вы можете закончиться. Компилятор Microsoft выдаст ошибку, если какая-либо часть строки версии будет больше 65535 .... В нашем случае у нас есть огромный репозиторий с версией 68876, и мы только что попали в эту стену.

1 голос
/ 19 августа 2008

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

Я только начинаю добавлять сервер сборки CI (CruiseControl.NET), поэтому мне нужно посмотреть, как все это работает, но если мои скрипты сборки верны, это не должно быть проблемой.

Однако, кроме внешнего вида, это действительно вопрос предпочтений (на мой взгляд).

0 голосов
/ 04 декабря 2008

У меня была такая же проблема в моей предыдущей компании. Они использовали около 50 проектов, работающих в одном репозитории, и работать над одними и теми же проектами было кошмаром, потому что при обновлении svn другие ругались .... lol .. .

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

0 голосов
/ 03 декабря 2008

Номера ревизий не имеют семантического использования. Единственное, что они находятся в последовательном порядке. Если вы выбросите свой проект и импортируете его в другой репозиторий, ваши версии могут получить новые номера ревизий. Так что НИКОГДА не используйте номера ревизий, чтобы отмечать ваши релизы или подобные вещи. Сделать метки для релизов (копии соответствующих ревизий).

0 голосов
/ 19 августа 2008

Один репозиторий на проект.

Интересный комментарий Стивена Муравски о CC.NET. Мне было бы интересно услышать, как это работает, если вам нужно указать несколько репозиториев контроля версий.

0 голосов
/ 26 августа 2008

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

0 голосов
/ 19 августа 2008

@ Даниэль Фоне: Документы SVN рекомендуют один проект на репозиторий, так что, безусловно, именно так и задумывали создатели. Поскольку вы можете иметь один сервер (apache или svnserve) для поддержки нескольких репозиториев, я никогда не сталкивался с проблемой чрезмерной нагрузки. С VisualSVN Server установка сервера Apache и настройка нескольких репозиториев выполняется очень просто.

...