Миграция 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, и ваши изменения в истории не должны затрагиваться.

Я знаю, что это не ответ на ваш вопрос, но может быть полезно, чтобы кто-то так не делал:)

Другие вопросы по тегам