Файл в репозитории после клона, но без истории

У нас есть репозиторий Mercurial, преобразованный из Subversion некоторое время назад, и сегодня мы заметили, что в репозитории есть файлы, у которых нет истории вообще.

Один Одним из симптомов такого поведения является то, что hg status сообщает о файле как о чистом, в то время как hg log сообщает об отсутствии изменений для того же файла:

> hg clone [repo]
> hg st -c FileWithMissingHistory.cs

C  FileWithMissingHistory.cs

> hg blame FileWithMissingHistory.cs
FileWithMissingHistory.cs: no such file in rev [...]
> hg log FileWithMissingHistory.cs
> hg log FileWithMissingHistory.cs -f
abort: cannot follow nonexistent file: "FileWithMissingHistory.cs"

> hg log -v | grep FileWithMissingHistory.cs

[gives output, there arechangesets mentioning the file]

Очевидно, что имена файлов были изменены в этом примере. Я пробовал использовать hg verify, но эта команда сообщает, что репо в порядке. Кто-нибудь испытал это, и можем ли мы что-нибудь сделать, чтобы рассказать историю " Я провел дополнительное расследование и заметил, что "FileWithMissingHistory.cs" был переименован с другого имени файла (hg copy + delete) в ревизии 238. Если я сделаю hg update -r238 и hg log в файле в этой ревизии, я не получу любая история. Выполнение hg log в исходном файле сообщает историю, как и ожидалось, поэтому кажется, что история каким-то образом потеряна во время копирования (опять же, файл переименован с помощью hg copy, и набор изменений ясно указывает, что файл был скопирован).

5
задан larsmoa 11 February 2011 в 14:43
поделиться