ASP.NET MVC: как это должно работать с Subversion? - PullRequest
2 голосов
/ 09 ноября 2009

Итак, у меня есть приложение asv.net mvc, над которым работают несколько разработчиков с разными возможностями. Мы впервые работаем над приложением MVC и впервые работаем с .NET. Наше приложение не содержит много юнит-тестов ...

Проблема, которую мы имеем, состоит в том, чтобы не дать друг другу перезаписать изменения друг друга. Например:

  1. Два разработчика работают над приложением, и Джон (не его настоящее имя) вносит изменения в контроллер, компилирует новую dll и проверяет его вещи (и контроллер, и dll.) Наш svn Система автоматически обновляет наш сервер DEV с изменениями, которые только что сделал Джон.

  2. Клайд (также не настоящее имя) также вносит изменения примерно в то же время, но не обновляет код с изменением Джона и фиксирует новую dll, тем самым "забывая" об изменении Джона.

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

Ответы [ 6 ]

7 голосов
/ 09 ноября 2009

Вы не регистрируетесь в DLL. Исключите папку bin из Subversion полностью. Это .cs файлы, которые имеют значение и будут скомпилированы локально на каждом компьютере, который проверяет код из Subversion. Если ваш сценарий развертывания не компилирует код, а представляет собой простой оператор xcopy, вам необходимо либо ввести в сценарий csc, либо внедрить систему непрерывной интеграции, например TeamCity.

1 голос
/ 10 ноября 2009

Ознакомьтесь с видеоуроками по SVN из кастинга. Они показывают вам лучшие практики, такие как, как настроить ваш проект, и как выполнить «check in dance», чтобы избежать ситуации, с которой вы столкнулись / / 1001 *

http://www.dimecasts.net/Casts/ByTag/SVN

1 голос
/ 09 ноября 2009

Это именно тот сценарий, которого Subversion и другие системы контроля версий призваны избегать. Когда Клайд регистрируется, он должен получить «устаревшую» ошибку, и его фиксация должна завершиться неудачей, что вынуждает его обновить свою рабочую копию и получить изменения Джона, прежде чем он сможет зафиксировать свою собственную.

1 голос
/ 09 ноября 2009

Проблема, которую вы описываете, уже решена в Subversion. Когда Клайд пытается зафиксировать свои изменения, Subversion обнаружит конфликт и предложит ему возможность объединить свои изменения.

0 голосов
/ 10 ноября 2009

игнорировать папки bin и obj, но у нас есть bin и Bin. используйте SVN: игнорировать [ЬВ] в [Oo] Ь * .Suo

0 голосов
/ 09 ноября 2009

Я использовал приложение Subersion и .NET вместе. По сути, мы узнали, что вы всегда должны обновлять свою рабочую копию, прежде чем делать регистрацию. Таким образом, любые изменения, внесенные другими разработчиками, будут перенесены в вашу рабочую копию, и любые конфликты слияния будут вам быстро известны. Затем вы можете исправить конфликты слияния, регистрации и продолжить работу. Если ваш второй разработчик обновит свой рабочий код, код первого слитого разработчика будет отключен, и процесс будет повторен.

Надеюсь, это поможет.

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