Миграция VSS 2005 в TFS 2010 - история не перенесена
Я пытаюсь преобразовать небольшой проект из VSS 2005 в TFS 2010, и все работает хорошо, за исключением того, что вся история не конвертируется. Я очень внимательно слежу за пошаговым руководством http://msdn.microsoft.com/en-us/library/ms253060.aspx (переход с Visual SourceSafe - Visual Studio 2010).
Я создаю резервную копию одного небольшого проекта из огромной базы данных VSS на своем локальном компьютере, подготавливаю файл settings.xml, запускаю VSSConverter в анализе, а затем в режимах миграции, и код заканчивается в TFS, структура проектов правильная, просто история не там.
После преобразования у меня есть ряд ошибок в файле VSSConverter.log, которые выглядят так:
[VSS, Error, 3, 2012/01/04 14:48:02.159] Exception: System.Runtime.InteropServices.COMException
Message: File or project not found
Stack Trace: at Microsoft.VisualStudio.SourceSafe.Interop.IVSSItem.get_Versions(Int32 iFlags)
at Microsoft.TeamFoundation.Converters.VersionControl.Vss.VssWrapper.ReadHistoryItemNoRecursive(ItemInfo itemInfo, Int32 flags, String spec, String name, Boolean type, Boolean deleted, Boolean isPinned, Int32 pinnedVersion, Boolean writeToDB)
at Microsoft.TeamFoundation.Converters.VersionControl.Vss.VssWrapper.PutInfoInDB(ItemInfo itemInfo, Boolean isMigrate)
Help Link: ssusexp.hlp#10609
BaseExceptionMessage: File or project not found
Я пытался найти больше информации об этих ошибках, но там не так много информации. Кто-нибудь видел эти ошибки?
Благодарю.
2 ответа
Я думаю, что я узнал, что я делал неправильно, и теперь могу воспроизвести поведение. Моя исходная база данных VSS имеет следующую структуру
$/
___+Folder1
_______+Project11
_______+Project11
...........
_______+Project1n
___+Folder2
_______+Project21
...........
_______+Project2n
и так далее. Если я сделал резервную копию и восстановил Project11 в пустую базу данных VSS, я сделал следующее:
$/
___+Folder1
______+Project11
Теперь, когда я разместил
<Project Source="$/Folder1" Destination="$/Project11"></Project>
в моем файле settings.xml я терял историю, хотя весь код был преобразован правильно. Когда я изменил это на
<Project Source="$/Folder1/Project11" Destination="$/Project11"></Project>
вся история превращается. Может быть, это кому-то помогает.:)
Мой опыт: мы перешли с TFS2005 на TFS2008, а затем на TFS2010. Насколько я помню, были проблемы при переходе на TFS 2008. Мы использовали инструмент миграции, чтобы перенести все наборы изменений из TFS2005 в базу данных TFS2008 (для каждого набора изменений)(чтобы сохранить изменения в истории). Это был действительно медленный процесс. Это было невозможно сделать за один день, поэтому мы решили перенести весь репозиторий в новую БД TFS (чтобы не блокировать разработчиков для внесения изменений в их код). Мы потеряли все изменения истории, но мы были перенесены:), и разработчики не были заблокированы. Это была не моя ответственность. Я не принял это решение. Для этого мы использовали какой-то инструмент из codeplex. Может быть, это (я не помню сейчас извините). Миграция с TFS2008 на FTS2010 не представляет никаких проблем, поскольку вы можете использовать базу данных sam для TFS2010, и ваши изменения в истории не должны затрагиваться.
Я знаю, что это не ответ на ваш вопрос, но может быть полезно, чтобы кто-то так не делал:)