Синхронизировать SourceSafe с SVN
-
01-07-2019 - |
Вопрос
В нашей компании действует политика, требующая хранения исходного кода в репозитории SourceSafe.Я изо всех сил пытался убедить руководство перейти на SVN, но безуспешно (что, в любом случае, является другой проблемой).
Поскольку я и несколько моих коллег используем репозиторий SVN, размещенный на моем компьютере (через Apache), я создал сценарий PowerShell, который выполняет резервное копирование репозитория на сервер компании (который затем также периодически резервируется).Это работает хорошо, но, скажем, я хотел бы также сохранить копию исходного кода на нашем сервере SourceSafe.
Есть ли опыт или советы, как это сделать?
Спасибо
Решение
Я не уверен, что существует хороший способ, но один из способов - использовать Серверные перехватчики SVN выполнить аналогичные действия в Source Safe с помощью инструментов командной строки VSS.Я думаю, что это уже обсуждалось ранее в списке рассылки svn-user.Вы можете попробовать поискать архивы здесь.
Другие советы
Как насчет регистрации в Репозиторий SVN в SourceSafe?
Бедный ты, я чувствую твою боль.
Как насчет ночного экспорта вашего кода в виде архива и хранения в VSS?Большинство инструментов предназначены для движения в другую сторону, поэтому, если вы хотите автоматизировать это, вам придется написать что-то самостоятельно.
Кажется хорошей идеей создать пакетный файл, который регулярно проверяет текущий исходный код из SVN в исходный код.
Вы можете создать пакетный файл, который запускается каждую ночь с помощью запланированного задания.Было бы использовать утилита командной строки sourcesafe чтобы извлечь всю кодовую базу в локальную файловую систему.Затем он сделал бы то же самое, используя клиент командной строки Subversion чтобы загрузить последнюю версию в тот же каталог.Затем вы можете зарегистрироваться с помощью утилиты командной строки sourcesafe.
Сложнее всего будет обнаружить новые файлы, добавленные в Subversion, и добавить их в базу данных, безопасную для исходного кода.Гипотетически вы могли бы перебрать все файлы и посмотреть, какие из них не помечены как доступные только для чтения после последней проверки.Другой проблемой будет обработка переименований и удалений;Я полагаю, не имеет большого значения, что удаленные файлы остаются в исходном коде, поскольку похоже, что никто на самом деле не использует эту кодовую базу.