Как я могу создать версию SVN поверх существующего проекта? - PullRequest
3 голосов
/ 20 января 2010

На работе у нас есть очень большой проект (около 30 000 файлов), управляемый системой управления исходным кодом Borland StarTeam. Мы хотели бы перейти на SVN, но на этом пути есть несколько препятствий. Наиболее важной из них является проблема настройки хранилища на всех виртуальных машинах разработчиков.

Существует два основных способа настроить новую папку с версией SVN на жестком диске. (В Windows, используя TortoiseSVN.) Вы можете либо извлечь проект SVN из репозитория, либо взять существующий код и загрузить его в (предположительно пустой) репозиторий, и после любой из этих операций вы получите дерево папок с SVN. папки метаданных. Но у нас есть несколько десятков разработчиков, у каждого из которых уже есть полная копия проекта. Что мы действительно хотели бы сделать, так это загрузить его один раз, а затем выполнить своего рода операцию «Свяжите эту существующую папку с хранилищем в [везде] и синхронизируйте их».

SVN поддерживает это? Если да, то как и как это можно сделать в TortoiseSVN или для этого требуются другие инструменты?

1 Ответ

10 голосов
/ 20 января 2010

Что должно сработать, это щелкнуть правой кнопкой мыши «SVN checkout ...» в существующей папке на жестком диске, содержимое которой совпадает с хранилищем, которое вы собираетесь извлечь.Каждый файл, который Tortoise находит локально, сначала сравнивает его с версией в хранилище, и если контрольные суммы совпадают (я предполагаю, что выполняется какое-то сравнение контрольных сумм), не загружайте его, а помечайте как «версионный» в протоколе проверкии перейдите к следующему файлу.

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

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

...