Схема репозитория svn - необходимы мнения

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

  1. В дальнейшем большая часть нашего кода будет разрабатываться на C # и являться приложениями .NET.
  2. Наша предыдущая веб-разработка выполнялась на Java.
  3. У нас есть ДЕЙСТВИТЕЛЬНО старые программы, разработанные на Delphi, которые не претерпевают значительных изменений, и когда мы перейдем на нашу новую систему управления делами, все приложения Delphi будут устаревшими.

Основываясь на этих битах информации, вы бы имели единый репозиторий для всего различного исходного кода или репозиторий для каждого типа источника (например, один репозиторий Delphi, один Java и один .NET)?

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

Итак, мой вопрос: у вас будет один репозиторий или 3 отдельных репозитория для каждого типа кода?

Спасибо! Лесли


person Leslie    schedule 11.04.2012    source источник


Ответы (2)


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

Поскольку это миграция, у вас могут быть отдельные репозитории для нового материала (.net) и старого материала (java + delphi), если вы действительно хотите выбросить его впоследствии.

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

person FrankB    schedule 11.04.2012
comment
большинство проектов / приложений вообще не связаны. У нас есть приложение Officer Check in и приложение Citation Entry, а также приложение для просмотра слушаний, которое можно запускать вне залов судебных заседаний, показывая запланированные слушания (среди прочего). И приложениям Check in, и Hearing Display необходимо знать слушания на сегодня, но не Citation Entry. Поэтому я бы создал функцию getTodaysHearings в моей разделяемой библиотеке, но два источника приложения не имели бы никакой связи. - person Leslie; 25.04.2012

Вы смотрели Git? Есть ли причина, по которой вы выбираете SVN вместо Git? Причина, по которой я спрашиваю, заключается в том, что мы осуществили переход около года назад, и это было ночью и решением. Для нас вы действительно не могли сравнить, где мы были с Subversion и Git сейчас. Это огромный шаг в правильном направлении. Очевидно, это было для нас, поэтому ваш опыт может отличаться, особенно в зависимости от того, что ваши разработчики тоже используют.

Мы были в немного похожей ситуации, когда решили перейти на Git. У нас есть несколько частей нашего общего приложения и нашего онлайн-присутствия, которые были централизованы в нашем репозитории SVN. Это сработало нормально, но в итоге мы пошли в другом направлении по нескольким различным причинам, а именно из-за того, что каждый из них может независимо поддерживать себя и работать на разных настройках сервера. Перед тем, как мы перешли на Git, это было очень важно, но мы действительно извлекли из этого пользу. Теперь мы отделили наши бизнес-процессы от основного приложения, что позволило нам повысить стабильность и безопасность нашей инфраструктуры.

Требуется ли весь код Java и Delphi для поддержки и запуска вашего приложения в настоящее время? Если ответ на этот вопрос положительный и в краткосрочной перспективе останется положительным, я бы определенно поместил все это в одно репо. Если вы пойдете по пути Git, если вы абсолютно хотите поддерживать их отдельно, вы можете использовать ветки, чтобы помочь вам в этом. Но я не вижу особой пользы в хранении их в отдельных репозиториях. После того, как вы реорганизовали свой код, чтобы больше не использовать их, вы можете легко удалить их из репозитория, сохранив при этом всю историю изменений, связанную с ним.

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

person tcole    schedule 11.04.2012
comment
Я никогда не слышал о Git - и я не предпочитаю одну систему управления версиями другой, но сейчас у нас НЕТ системы управления версиями, так что я пытаюсь получить по крайней мере ЧТО-ТО! В настоящее время требуется весь код Java и Delphi, но когда мы конвертируем все Delphi, большая часть java будет устаревшей и переписана на .NET. - person Leslie; 12.04.2012
comment
Я бы, наверное, сделал всего одно репо, если бы это был я, но это, конечно, только мое личное мнение. Загляните на progit.org, если у вас будет время. Git сложнее настроить, но, на мой взгляд, он того стоит. Плохая вещь в VCS заключается в том, что после того, как вы сделали свой выбор и использовали его некоторое время, может быть трудно переключиться на средний или большой промежуток времени. Определенно может быть много возражений, потому что это что-то другое. - person tcole; 12.04.2012