LINUX.ORG.RU

Mercurial: index 00changelog.i is corrupted!

 


1

1

При попытке закоммитить изменения через tortoisehg сработал pyflakes хук, который не дал мне этого сделать. При повторной попытке получил вот такую вот шляпу и теперь ничего не работает:

$ hg st
abort: index 00changelog.i is corrupted!
$ hg log 
abort: index 00changelog.i is corrupted!
$ hg verify
abort: index 00changelog.i is corrupted!
$ hg diff
abort: index 00changelog.i is corrupted!

Вменяемого ответа так и не удалось нагуглить, потому пишу сюда.

Изменения судя по всему все на месте, потому можно было бы заново склонировать репозиторий, перезаписать файлы и закоммитить снова. Но не могу быть до конца уверенным, что всё на месте. Может есть какой-то более кошерный способ решить эту проблему?

★★★★★

Ответ на: комментарий от anonymous

Скажи это моему работодателю =)

Kilte ★★★★★
() автор топика

Время не ждёт. Пришлось всё-таки клонировать. Хорошо, что ничего не потерял.

Kilte ★★★★★
() автор топика
Ответ на: комментарий от Kiborg

Нет, не подумал. Пробовал воспроизвести ещё раз, но безуспешно. Почти.

В ~/.hgrc

[hooks]
pretxncommit.pyflakes = python:hghooks.code.pyflakeshook

hghooks при этом должен быть установлен.

Создаём репозиторий, ложим туда валидный питоновский файл, коммитим.

Редактируем файл так, чтобы он не проходил через pyflakes, например:

-def hello(name):
+def hello(*, name):

После серии попыток коммита через thg получаем:

transaction abort!
rollback completed
abort: integrity check failed on 00changelog.i:1!

(последней строки не должно быть)

Но репозиторий в итоге остаётся целым.

Всё-таки, думаю, что это принесёт больше пользы, чем просто сломанный репозиторий.

Kilte ★★★★★
() автор топика
Ответ на: комментарий от Kilte

Попробуйте на самой последней ревизии mercurial (ветка default).

Sorcerer ★★★★★
()
Ответ на: комментарий от pi11

Лорчую. Гит никогда не теряет д

anonymous
()

Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

anonymous
()
Ответ на: комментарий от anonymous

И? Разумеется я мог бы написать всё это снова, но не всегда можно себе позволить по сто раз на дню переписивать одно и то же, когда скорее всего быстрее будет восстановить репозиторий.

Kilte ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.