SVN Versioning: как иметь для каждого проекта свою ревизионную схему? - PullRequest
4 голосов
/ 23 сентября 2008

Просто небольшая SVN-проблема здесь.

Я настраиваю свой собственный сервер SVN Настройка Subversion в Windows

Теперь я сделал повтор, в котором все мои проекты пойдут.

Теперь я проверил представителя в папке "Projects".

Теперь, если я создаю проект и регистрирую его, этот проект является ревизией 1. Если я создаю второй проект и регистрирую его, этот проект находится на редакции 2. Таким образом, если я внесу изменение в Проект 1, этот проект будет затем в редакции 3.

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

Ответы [ 5 ]

15 голосов
/ 23 сентября 2008

Единственный способ - каждый проект размещать в отдельном репозитории. Элементы в одном и том же хранилище всегда будут демонстрировать поведение, упомянутое вами в вашем вопросе.

Отсюда

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

1 голос
/ 23 сентября 2008

Можете ли вы описать, почему наличие одного номера редакции Subversion для нескольких проектов является проблемой для вас?

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

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

Похоже, вы пытаетесь использовать номер ревизии хранилища как часть номера сборки или выпуска? Если это так, возможно, вы могли бы рассмотреть возможность реализации другой схемы нумерации сборок для вашего проекта (-ов), которая затем может быть связана с номером редакции Subversion.

Такое сопоставление может быть достигнуто путем использования соглашения о создании веток с номером выпуска и размещении ревизии subversion в комментарии для ветви.

Некоторые схемы обсуждались в этом вопросе

1 голос
/ 23 сентября 2008

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

0 голосов
/ 23 сентября 2008

Они обсуждают это немного лучше здесь: http://www.nabble.com/Multiple-Repositories-in-a-Windows-Server-td15014106.html

В основном вы можете сделать:

svnserve -r /path/to/repository  

svn://hostname/  

или

svnserve -r /path/to/directory/containing/many/repositories  

svn://hostname/repositoryname/  

Кроме того, вы можете работать без сервера и просто разместить отдельные репозитории на локальном или сетевом диске.

0 голосов
/ 23 сентября 2008

Вам необходимо создать репозитории внутри вашей папки «Projects», и когда вы делаете начальную проверку, извлеките «??? / projects / repo1» ... это будет держать рабочие копии отдельно на вашем компьютере, и вы будете проверить / выйти полностью отдельно друг от друга.

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