Репликация способности ссылки Sourcesafe в SVN или других системах контроля версий? - PullRequest
5 голосов
/ 02 февраля 2009

В настоящее время моя команда использует Visual Sourcesafe, и, зная, насколько ужасен GUI из первых рук, и, услышав слухи о том, насколько ненадежным он является, я пытался перейти на SVN.

Сегодня я говорил с менеджером о возможном движении, которое он поддерживает, и он спросил, возможно ли создать ссылки в безопасном стиле в SVN. Ссылки, для людей, не знакомых с SourceSafe, работают так же, как и ссылки на файлы в Linux. Мы используем их для связи общего кода / библиотек между проектами. Я объяснил, что не было никакого способа создать ссылки с использованием SVN, и он упомянул, что это может быть основным камнем преткновения в миграции.

Я сказал ему, что в моем локальном SVN (который я храню для облегчения своей разработки, проверяя только периодически в SourceSafe), я размещаю общий код / ​​библиотеки в одном месте и отсылаю ANT в это место. Однако я понял, что это решение не произвело на него большого впечатления, поскольку оно усложняет задачи ANT. Лично я думаю, что стоит иметь немного более сложный сценарий ANT по сравнению с кучей файлов ссылок в системе контроля версий, но на самом деле вопрос в том, на какую парадигму вы подписываетесь.

Мне интересно, как разработчики в целом обходят это ограничение и поддерживают ли новые системы контроля версий, такие как Git и Mercurial, ссылки для поддержки?

Ответы [ 3 ]

8 голосов
/ 02 февраля 2009

Просмотр svn:externals свойств.

3 голосов
/ 02 февраля 2009

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

Был некоторый процесс настройки, привыкший к этому, но с тех пор я не пропускал ссылки. Это действительно продвигает лучшую практику проектирования, если ваш код настроен так. Использование классов только в одном проекте помогает избежать внесения изменений, поскольку гораздо легче проверить влияние изменений (используя ссылки, которые вы можете даже не знать, вызвали ли вы проблему компиляции с изменением). Кроме того, некоторые функции более хороших систем управления исходным кодом (например, надежная поддержка ветвления и слияния) работают намного лучше, когда вам не нужно беспокоиться о связанных файлах.

0 голосов
/ 17 марта 2009

Ссылки полезны, когда исходные файлы должны быть общими для разных платформ (.NET, Silverlight, .NetCF) потому что исходные файлы могут быть одинаковыми и поэтому могут использоваться совместно, но скомпилированные библиотеки не могут совместно использоваться этими платформами.

...