Добавить новое репо SVN в плохо сконструированное репо / настройку проекта

К сожалению, ответ на этот вопрос не так прост, как кажется ... но я надеюсь, что он все еще может быть относительно простым. Пожалуйста, прочтите до конца, прежде чем сказать мне, что ответ: "svnadmin create ... duh"

Я работаю в компании, которая нестандартно настроила свой сервер SVN (по крайней мере, с точки зрения того, к чему я привык). Мы все были там, правда?

Вместо того, чтобы предоставлять каждому проекту отдельный репозиторий ... у них есть папка на сервере с именем "/ var / www / svn / repos /", которая является фактическим репозиторием SVN (имеет conf /, db /, README.txt и т. Д.) в этом). Затем они выделяют свои проекты, добавляя папки верхнего уровня в ОДИН репозиторий (например, Project1, Project2 и т. Д.)

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

Но у меня такой вопрос: как лучше всего добавить новый пустой проект в текущую настройку? Есть ли способ добавить новую папку / проект верхнего уровня в репо с помощью svnadmin? Это может / должна быть просто пустая папка, в которой я начну создавать новый проект.

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

Дайте мне знать, если вам понадобится дополнительная информация. У меня есть доступ root / sudo к рассматриваемому серверу.

Заранее спасибо за помощь!

Дэйв

РЕДАКТИРОВАТЬ: способ, которым SVN используется в этой компании, никто не проверяет полное репо ... они просто проверяют папку / проект, которые им интересны. Так что у меня нет локальной проверки, доступной нигде, которая идет "высоко" "достаточно в структуре каталогов репозитория SVN, чтобы просто запустить команду" svn mkdir ".


person Dave Masselink    schedule 22.02.2011    source источник


Ответы (1)


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

person Jeremy Whitlock    schedule 22.02.2011
comment
Просто для объяснения: если ваше репо находится по адресу hostname / svn, вы, вероятно, сделаете что-то вроде svn mkdir hostname / svn / new_project -m 'Создание нового местоположения проекта.'. - person Jeremy Whitlock; 23.02.2011
comment
хм ... возможно, я неправильно понимаю ... Я получаю сообщение об ошибке при попытке сделать что-то подобное, потому что имя хоста / svn (или / var / www / svn / repos / в моей ситуации) не является рабочей копией .. . что имеет смысл, это не реальный репозиторий (с conf, db и т. д.) на сервере - person Dave Masselink; 23.02.2011
comment
Было бы здорово увидеть выводимые команды и ошибки. Каков также базовый URL-адрес вашего репозитория? - person Jeremy Whitlock; 23.02.2011
comment
Я был неправ ... Я пытался сделать это на стороне сервера, прямо в репо. Когда я попробовал с другой машины в качестве клиента, он работал точно так, как рекламировалось. Я не нашел в Интернете никаких указаний на то, что svn mkdir будет работать, если вы не были в рабочей копии и передали ему местоположение в репозитории, которого еще не существует. Но я думаю, что чем больше я думаю об этом, тем больше смысла в этой функциональности. Спасибо! - person Dave Masselink; 23.02.2011
comment
Если вы не возражаете против моего вопроса, почему кто-то может предпочесть такой монолитный репозиторий и папку для каждой настройки проекта, а не репозиторий для каждой настройки проекта, к которому я больше привык? В этой настройке меня смущают журналы фиксации и номера фиксации, которые полностью не связаны с проектом, над которым я работаю (они относятся к другим проектам, которые оказались в репо). - person Dave Masselink; 23.02.2011