Контроль исходного кода C #, который позволяет мне иметь несколько веток кода для различных «редакций» - PullRequest
1 голос
/ 18 декабря 2009

Может ли кто-нибудь порекомендовать продукт управления исходным кодом, который выполняет все из следующих действий:

  1. Полная интеграция с VS 2008 Pro
  2. Позволит ли мне создавать различные "редакции" программы (например, "express" и "pro") - возможно, с разветвлением?
  3. Позволит мне отслеживать изменения для конкретных запросов клиентов. Скажем, у меня четыре клиента, 2 на экспрессе, 2 на профи. Я мог бы создавать конкретные, настраиваемые изменения для всех клиентов, сохраняя при этом уникальную кодовую базу.

Я не уверен, что что-то вроде VisualSVN может справиться с этим, но там должен быть продукт.

Ответы [ 5 ]

1 голос
/ 18 декабря 2009

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

Информацию об условной компиляции можно найти по следующим ссылкам:

.NET: http://msdn.microsoft.com/en-us/library/9ae6e432%28VS.71%29.aspx

Java: http://weblogs.java.net/blog/schaefa/archive/2005/01/how_to_do_condi_1.html

C ++: http://www.devarticles.com/c/a/Cplusplus/C-plus-plus-Preprocessor-The-Code-in-the-Middle/3/

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

Примером этого является приложение, которое я разработал на c # для реализации как на сервере, так и на мобильном устройстве. У каждого были разные способы вызова функций в библиотеках .NET, но логика была одинаковой, поэтому я использовал условную компиляцию препроцессора для компиляции для исправления кода для каждой платформы, но оставил логику нетронутой.

1 голос
/ 18 декабря 2009

Практически каждый источник контроля будет удовлетворять требованиям № 2 и № 3 с ветвями.

Для # 1 это более сложно. Если вы действительно хотите бесшовную интеграцию (заглавная S), тогда Team Foundation Server - ваш единственный выбор. (Это очень дорого)

В противном случае практически все основные системы контроля версий будут иметь своего рода плагин VS, но плагин обычно работает не очень хорошо.

Две самые популярные системы управления исходным кодом:

0 голосов
/ 18 декабря 2009

До окончательного выпуска VS 2010 (22 марта 2010 г.) осталось всего три месяца. Для подписчиков MSDN TFS будет интегрирована в Visual Studio (все уровни, кроме Express). Подписки MSDN, включающие Visual Studio (любой уровень), будут включать TFS с лицензией на одно место. TFS 2010 будет работать в Vista или Windows 7. SharePoint больше не требуется, но он по-прежнему необходим, если вам нужны 100% функций TFS, таких как отчеты.

Теперь все это доступно в бета-версии; Я использую TFS на своем ноутбуке.

0 голосов
/ 18 декабря 2009

Team Foundation Server обеспечивает лучшую бесшовную интеграцию с VS 2008, но, конечно, это не бесплатно (я согласен, что это очень дорого)

Вы пробовали использовать AnkhSVN ? он получил довольно хорошую интеграцию для VS 2008 и SVN. пока он дает мне интеграцию VS-SVN, в которой я нуждаюсь, так что вы можете проверить ее и посмотреть, соответствует ли она вашим потребностям.

вы можете использовать TortoiseSVN, но я предлагаю установить SVN-сервер CollabNet , поскольку AnkhSVN легко интегрируется с ним, плюс вам не нужно беспокоиться о крупных установках

0 голосов
/ 18 декабря 2009

Исходя из опыта, вам нужна интеграция с Visual Studio только в том случае, если вам нужно проверить файл перед его редактированием (а-ля SourceSafe), и файл доступен только для чтения.

Воспользовавшись SourceSafe, я перешел к использованию SVN и абсолютно никогда не оглядывался назад. Затем я переключился на git и больше никогда не оглядывался назад на SVN или Sourcesafe.

Я не могу комментировать источник управления Team Foundation или Mercurial , я никогда не использовал их. На этом этапе я бы порекомендовал git over SVN, так как он больше подходит для работы с одним исходным деревом, в котором есть небольшие изменения между множеством веток. С SVN вы можете сделать то же самое, но процесс переключения рабочей копии на другой процесс оказался болезненным.

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