Ископаемое: распознавать изменения при закрытии репо

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

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

Что я могу сделать, чтобы окаменелость распознала пропущенные изменения?


person Ralf    schedule 28.06.2012    source источник
comment
Теперь я снова попробовал то же самое. На этот раз при повторном открытии репо меня спрашивают, хочу ли я перезаписать измененный файл ... Перезапись означает перезапись нового файла старым! (На всякий случай кому-то еще интересно ...) --- выбрав Нет, изменения останутся нетронутыми, и фиксация распознает изменения. Поэтому мне интересно, почему это не сработало с первого раза.   -  person Ralf    schedule 28.06.2012


Ответы (1)


Почему вы закрыли репозиторий? Когда вы сделаете fossil open, fossil попытается развернуть последнюю версию. Возможно, он перезаписал ваши файлы…

Вы должны использовать open .... --keep, если не хотите навредить своему рабочему каталогу.

Для сравнения с git (кажется, это ваша предыстория):

  • в git каждый рабочий каталог имеет свою папку .git. Несколько рабочих каталогов для одного и того же репозитория обычно жестко связаны.
  • в fossil каждый рабочий каталог содержит файл с именем _FOSSIL_ или, возможно, .fossil, в зависимости от вашей версии. Он содержит как указатель на репозиторий (базу данных объектов), так и данные, относящиеся к рабочему каталогу (то, что вы бы назвали HEAD, stash, незафиксированные добавления / удаления / переименования). close удалит этот файл. Итак, с точки зрения git, это как если бы вы сделали git clone --bare . some_other_folder.git, а затем рекурсивно rmdir .git. У вас все еще есть история проекта, но вся информация о вашем рабочем дереве потеряна.
person Benoit    schedule 28.06.2012
comment
Почему нет? Из документации, насколько я читал, я понял, что это нормальный рабочий процесс. Открывать, менять файлы, закрывать. Так это скорее «Открыть, закончить проект, закрыть»? Могу ли я открыть сразу несколько репозиториев? В конце концов, мне, возможно, придется прочитать полную документацию ... - person Ralf; 29.06.2012
comment
Вам никогда не придется закрывать, если ваш проект не завершен или вы не откажетесь от работающего дерева. close отделяет рабочий каталог от репозитория (в терминах git это переместит папку .git). Открытие, изменение файлов, фиксация, изменение файлов, фиксация и т. Д. Вы можете открыть репозиторий одновременно в нескольких местах, если хотите. - person Benoit; 29.06.2012