Миграция VSS 2005 в TFS 2010 - история не перенесена - PullRequest
2 голосов
/ 05 января 2012

Я пытаюсь преобразовать небольшой проект из VSS 2005 в TFS 2010, и все работает хорошо, за исключением того, что вся история не конвертируется.Я очень внимательно слежу за пошаговым руководством из http://msdn.microsoft.com/en-us/library/ms253060.aspx (Миграция из Visual SourceSafe - Visual Studio 2010).

Я создаю резервную копию одного небольшого проекта из огромной базы данных VSS на моем локальном компьютере, подготавливаю настройки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 ]

2 голосов
/ 10 января 2012

Мне кажется, я узнал, что я делал неправильно, и теперь могу воспроизвести поведение.Моя исходная база данных 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>

, вся история преобразуется.Может быть, это кому-то помогает.:)

1 голос
/ 06 января 2012

Мой опыт: мы перешли с TFS2005 на TFS2008, а затем на TFS2010.Насколько я помню, были проблемы при переходе на TFS 2008. Мы использовали инструмент миграции для переноса всех наборов изменений из TFS2005 в базу данных TFS2008 (для каждого набора изменений) (чтобы сохранить изменения в истории).Это был действительно медленный процесс.Это было невозможно сделать за один день, поэтому мы решили перенести весь репозиторий в новую БД TFS (чтобы не блокировать разработчиков для внесения изменений в их код).Мы потеряли все изменения истории, но мы были перенесены :), и разработчики не были заблокированы.Это была не моя ответственность.Я не принял это решение.Для этого мы использовали какой-то инструмент из codeplex.Может быть этот (сейчас я не помню, извините).Миграция с TFS2008 на FTS2010 не представляет никаких проблем, потому что вы можете использовать базу данных sam для TFS2010, и ваши изменения в истории не должны затрагиваться.

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

...