Ископаемое: недопустимый репозиторий - репозиторий удален

Я пробую окаменелость в первый раз, и все испортил в считанные минуты. Я создал репозиторий, затем, по-видимому, запускал команды в неправильных папках и т. Д., В конечном итоге удалил тестовый репозиторий, чтобы перезапустить. (Где-то я читал, что ископаемое было «самодостаточным», поэтому я подумал, что удалить файл репозитория будет нормально. Как правильно удалить репозиторий ископаемых?)

Теперь почти с каждой командой, которую я пытаюсь выполнить (включая «все перестроить»), я получаю сообщение об ошибке «недопустимый репозиторий» с именем удаленного репозитория.

Что теперь?


person Ralf    schedule 28.06.2012    source источник


Ответы (2)


Согласно этому сообщению:

Ошибка «недопустимый репозиторий» возникает только тогда, когда Fossil пытается измерить размер файла репозитория и видит, что либо файл не существует, либо размер файла меньше 1024 байтов. Он делает это, вызывая stat () в файле и просматривая поле stat.st_size.

вполне вероятно, что у вас есть отсутствующий или усеченный файл Fossil. Убедитесь, что вы действительно удалили файл репозитория, и что ваша файловая система действительно освободила дескрипторы файлов. Fossil хранит некоторую информацию о репозиториях в ~ / .fossil, поэтому вам может потребоваться удалить и ее.

rm ~/.fossil

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

Если у вас все еще есть проблемы, попробуйте создать новый файл репозитория в другом каталоге. Например:

cd /tmp
fossil init foo.fsl
fossil open foo.fsl
fossil close

Если все пойдет гладко, вам придется выследить любые скрывающиеся остатки репозитория. Пока дескрипторы файлов закрыты, нет причин, по которым вы не можете удалить foo.fsl (или что-то еще) и назвать его хорошим.

person Todd A. Jacobs    schedule 28.06.2012
comment
Спасибо, CodeGnome. Да, как я уже сказал, удалил файл. Насчет файловых дескрипторов я не знаю. Я думаю, вы имеете в виду какую-то Linux-вещь. rm - это тоже Linux, не так ли? Я на винде. Тем временем я получил удаленный файл обратно из корзины, что исправило сообщение об ошибке. Перестройка тоже сработала, затем я открыл репозиторий, снова закрыл его, затем удалил, и теперь вроде все в порядке. Так может не стоит удалять открытый репозиторий? - person Ralf; 28.06.2012
comment
@Ralf Правильно ... удаление открытого репозитория обычно приводит к ошибкам, независимо от платформы. Всегда лучше сначала закрыть репозиторий, а затем удалить его. Рад, что ты в квадрате! - person Todd A. Jacobs; 28.06.2012

Я только что столкнулся с той же проблемой в Windows. Кажется, я тоже нашел решение. Вот что я сделал. Я не могу гарантировать, что это универсальное решение или хотя бы хорошее. В:

C:\Users\mywindowsusername\AppData\Local

Был файл с именем _fossil и каталог / папка с именем VirtualStore. Я удалил оба. Похоже, это удалило все следы репозитория. Обратите внимание, что репозиторий все еще был в «открытом» состоянии, как и в вашем случае.

Изменить: после дальнейших экспериментов может показаться, что VirtualStore - это временный каталог, который исчезнет после фиксации (файл .fossil появится внутри целевого каталога).

Моя ошибка заключалась в создании репозитория в корне и клонировании: fossil приступил к клонированию всего диска C. Наверное, частая ошибка новичков.

person PatrickT    schedule 15.02.2013