2009-10-14 3 views
0

Я расследую это для кого-то еще, но я надеюсь, что это объяснение верно:TFS - файлы, заканчивающиеся в той папке

У нас есть много файлов и много папок в системе управления версиями TFS, но два из они эти (составлявшие имена):

$/Root/Shared/...

$/Root/Решения/...

5 файлов из папки $/Root/Shared/Client/Main теперь проверены, и, глядя на набор изменений, все они говорят «редактировать» в поле изменения.

Но, глядя на пути, 3 из них проверяются в $/Root/Решения/Client/Main вместо $/Root/Shared/Client/Main. Последние два находятся в ожидаемом месте.

И все ухудшается; нет, и не должно быть $/Root/Shared/Client/Main. При просмотре источника управления это местоположение не существует. И файлы не находятся в их первоначальном расположении, они просто исчезли - за исключением случаев их просмотра в наборе изменений.

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

ответ

1

Чтение вещей более тщательно, похоже, что вы описываете файлы, которые были переименованы/перемещены с течением времени.

TFS рассматривает информацию о пространстве имен так же важна, как и содержимое файла. Если вы попросите старую версию $/Root, вы не просто получите старую версию этих файлов, вы также получите старый файл структуры &, который сохранился точно так, как это было в то время. Эта конструкция пронизывает систему, включая диалоговое окно View Changeset, как вы видели.

Остается вопрос, где мои файлы исчезли? Быстрый способ выяснить, заключается в использовании командлета из Power Tools:

Get-TfsItemHistory -all .\rentest2\grand2\child2\parent\foo3.cs | 
    Select-TfsItem | 
    Format-Table -auto path, @{label="version"; expression={$_.versions[0].changesetid}} 

Path              version 
----              ------- 
$/Test-ConchangoV2/rentest2/grand2/child2/parent/foo3.cs 10725 
$/Test-ConchangoV2/rentest/grand2/child2/parent/foo3.cs 10148 
$/Test-ConchangoV2/rentest/grand2/parent/foo3.cs   10147 
$/Test-ConchangoV2/rentest/grand2/child2/foo3.cs   10146 
$/Test-ConchangoV2/rentest/grand2/child/foo2.cs   10145 
$/Test-ConchangoV2/rentest/grand2/parent/child/foo2.cs  10144 
$/Test-ConchangoV2/rentest/grand/parent/child/foo2.cs  10143 
$/Test-ConchangoV2/rentest/grand/parent/child/foo.cs  10142 

У меня есть маленький инструмент с графическим интерфейсом, который делает это и многое другое, но не было времени, чтобы получить его в работоспособном состоянии публично, к сожалению.

+0

Я сам этого не решал, парень из отдела ИТ сделал, но то, что он сказал, звучит очень похоже на то, что вы говорите. Что-то о проверке полки, после того, как структура на сервере изменилась. – Rabbit

0

Мое предположение, что у вас есть некоторые вихревые отображения рабочего пространства. Проверьте себя в файле -> Управление источником -> Рабочие области.

Для получения наилучших результатов (прочитайте: наименьшее количество потерянного сна по таким вопросам) создайте одно единственное сопоставление на самом высоком уровне, который вам нужен. Если это слишком широко, сделайте этот корень сопоставлением «одного уровня» (используя синтаксис *, см. Документы), а затем создайте дополнительные рекурсивные сопоставления с теми же относительными путями под ним при необходимости.

+0

Спасибо, я проверю это. AFAIK это первый раз, когда это произошло, хотя, если эта информация что-то стоит. – Rabbit

+0

Только что проверено; в корне есть только одно отображение. – Rabbit

Смежные вопросы