Вопрос относительно структуры каталогов SVN с несколькими ОС - PullRequest
1 голос
/ 23 мая 2011

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

Я понимаю, что типичная структура SVN выглядит следующим образом:

/ багажник
.... / файлы текущей версии здесь

/ филиал
.... / багфикс
.... / newfeature
.... / branch3
.... / branchN

/ бирка
.... / версия 1.0
.... / версия 2.0
.... / версия n.n

У меня вопрос, как этот фактор делится на несколько ОС? В настоящее время у моего программного обеспечения есть отдельные репозитории Mercurial для GUI / CLI-версий моего программного обеспечения для каждой ОС, поскольку вы не можете только извлечь каталог в Mercurial. Тем не менее, я понимаю, вы можете в SVN. Будет ли структура выглядеть так:

/ Windows (или Linux, или что-то еще)

/ багажник
.... / CLI
..... / файлы текущей версии здесь
.... / GUI
..... / файлы текущей версии здесь

/ филиал
.... / CLI
..... / багфикс
..... / newfeature
..... / branch3
..... / branchN
.... / GUI
..... / багфикс
..... / newfeature
..... / branch3
..... / branchN

/ бирка
.... / CLI
..... / версия 1.0
..... / версия 2.0
..... / версия n.n
.... / GUI
..... / версия 1.0
..... / версия 2.0
..... / версия n.n

Или я делаю это слишком сложным? Вы бы порекомендовали хранить версию GUI в отдельном репозитории? Кроме того, в каких из этих типичных каталогов хранятся предварительно скомпилированные исполняемые файлы?

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

1 Ответ

1 голос
/ 23 мая 2011

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

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

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

...