Как я вижу измененные файлы, но не зафиксированные с сервера? - PullRequest
3 голосов
/ 19 января 2010

В SourceSafe я могу знать, если кто-то изменил файл, но не зафиксировал его, потому что файл будет заблокирован.

По умолчанию Svn не работает с блокировками, это хорошо, но как я могу это сделать?знаете, если кто-то изменил какой-либо файл и забыл зафиксировать?

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

PS: Моя задача - скомпилировать проект со старыми .cs, потому что программист, возможно, не сделал коммит.

Ответы [ 5 ]

5 голосов
/ 19 января 2010

Это не так, как работает SVN.

SubVersion использует способ управления исходным кодом edit-merge-commit. Любой желающий может изменить любой файл. При фиксации, если есть конфликт, изменения могут быть объединены (автоматически или вручную)

Подробнее о блокировке и edit-merge-commit можно узнать здесь:

VSS в Subversion

1 голос
/ 19 января 2010

вы можете сделать внутреннюю процедуру, в которой каждый, прежде чем он начнет изменять файл, попросит у SVN-сервера блокировку. Таким образом, каждый получает обновление, что он работает над этим файлом.

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

0 голосов
/ 21 января 2010

Вы можете использовать svn status, чтобы проверить, есть ли у вас какие-либо локальные незафиксированные изменения.

Чтобы узнать, есть ли у кого-то какие-либо незафиксированные изменения, вам необходимо убедить / подкупить / оплатить / напугатьдругие запускают тест каждый день или помещают его в cron или другой планировщик.Конечно, тогда вы будете обеспокоены файлами, которые они оставили без причины по какой-либо причине (например, что-то еще не закончено, не работает должным образом и т. Д.).

0 голосов
/ 19 января 2010

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

  • Вытащите последнюю версию из Subversion
  • Построить все выходные данные
  • Выполнить юнит-тесты
  • Передайте все файлы изменений обратно в SVN
  • подтолкнуть сборки к постановке
  • Изменения конфигурации после отправки / готовность среды

Таким образом, незафиксированные изменения не будут существовать во всех этапах подготовки.

0 голосов
/ 19 января 2010

Существует команда Проверка на наличие модификаций , которую вы можете запустить после обновления, если я не понимаю вас.

...