Visual Source Safe - удаление файлов из веб-проектов - PullRequest
0 голосов
/ 31 декабря 2008

Я постараюсь сделать это как можно проще.

  1. В настоящее время у нашей команды есть база данных VSS, в которой хранятся наши проекты.
  2. Разработчики берут код и помещают его на свой локальный компьютер и разрабатывают локально.
  3. Назначенный разработчик берет последнюю версию и отправляет на сервер разработки.

Проблема в том, что когда файл удаляется из проекта (удаляя его в VS2008), то в следующий раз, когда другой разработчик (не тот, кто его удалил) регистрируется, он предлагает им проверить эти удаленные файлы, потому что они еще есть копия на локальном компьютере.

Есть ли способ обойти это? Чтобы VSS дал указание клиентскому компьютеру удалить эти файлы и не предлагать им вернуться? Каков предпочтительный подход для этого?


Изменить примечание (я):

  1. Я согласен, что SVN лучше, чем VSS
  2. Я согласен, что проект веб-приложения лучше, чем проект веб-сайта
  3. Проблема : То же самое происходит с файлами, которые удалены из библиотек классов.

Ответы [ 5 ]

5 голосов
/ 31 декабря 2008

Один из способов обойти это - перестать использовать проекты веб-сайтов. Проекты веб-сайтов приводят к тому, что Visual Studio автоматически добавляет в проект все, что находит в пути проекта.

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

Проекты веб-сайтов хороши для разработки для одного человека.

UPDATE:

В магазинах VB с минувших дней были похожие проблемы, связанные с тем, что они устанавливали, влияли на процесс сборки. Вы можете взять страницу из их playbook и иметь «чистый» сборочный компьютер. Перед выполнением развертывания вы должны удалить все папки проекта, а затем сделать последние. Таким образом, вы будете уверены, что единственное, что развернуто, это то, что у вас есть в управлении исходным кодом.

Кстати, именно так работает сервер TFS Build. Он удаляет рабочее пространство, затем создает новое и загружает необходимые файлы проекта.

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

1 голос
/ 31 декабря 2008

Может быть, разработчик должен позаботиться только о том, чтобы проверить или добавить вещи, над которыми он работал Это своего рода небрежно, если они добавляют вещи, которые они даже не использовали.

0 голосов
/ 01 января 2009

Что-то, что вы можете захотеть сделать:

  1. Get Latest (Recursive)
  2. Check In ...

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

0 голосов
/ 31 декабря 2008

VSS - ужасная система управления версиями, и вам следует переключиться на SVN, но это не имеет никакого отношения к сути проблемы. Файл проекта содержит ссылки на то, какие файлы фактически являются частью проекта. Если проект Visual Studio не регистрируется вместе с изменениями в нем, у любого другого разработчика не может быть полного обновления, поэтому он запрашивает удаление файлов при получении последней версии из VSS. Оттуда у вас есть несколько вариантов ...

  1. Сделать vbproj частью репозитория. Любые изменения уровня проекта будут частью коммита, и другие разработчики могут быть уведомлены. Проблема здесь в том, что он также будет на сервере разработки. В идеале вы можете использовать почти тот же процесс для развертывания в dev, как и для выпуска в релиз. Это ведет в другую сторону ...

  2. SVN предоставляет вам хуки почти для всех основных событий, где хуки буквально являются просто правильно названным командным файлом / exe. Для ваших целей вы можете использовать ловушку post-commit для отправки соответствующих файлов, скажем, через ftp, на сервер при каждом коммите. Файловые проблемы решены, а главное ближе к концепции непрерывной интеграции.

0 голосов
/ 31 декабря 2008

Лучшим решением было бы перейти на более совершенную систему контроля версий, такую ​​как SVN.

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

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

Я полагаю, что мы использовали VSSMigrate для перехода на SVN http://www.poweradmin.com/sourcecode/vssmigrate.aspx

...