Краткая инструкция по Fossil

Этот краткий документ объясняет базовые команды Fossil достаточные для работы одного пользователя. Данный документ не описывает совместную работу с другими пользователями, не описывает синхронизацию с удаленным репозиторием, и не описывает разветвления / порождения.

Создать новое хранилище (репозиторий) править

fossil new C:\test.repo

Эта команда создаст новый бинарный SQLite файл, содержащий репозиторий (хранилище), то есть: файлы, билеты, вики и т. д. Он может быть расположен в любом месте, но лучше всего держать его за пределами рабочего каталога, где вы будете работать с файлами после того как они были извлечены из репозитория.

Открыть репозиторий править

cd C:\Temp\test.fossil
fossil open C:\test.repo

Эта команда проведёт последнюю ревизию всех файлов в хранилище, если таковые имеются, в текущей директории. Кроме того, данная команда создаст бинарный файл _FOSSIL_ в котором будут отслеживаються изменения (на отличных от Windows-системах этот файл называется .fslckout).

Добавить новые файлы править

fossil add .

Fossil пометит новые файлы на добавление в хранилище, но реально добавлены в репозиторий они будут после выполнения команды commit. При использовании точки «.», fossil добавит все файлы текущей директории рекурсивно, включая все файлы во всех подкаталогах.

Примечание: вот так можно fossil-у сказать игнорировать некоторые расширения:

fossil settings ignore-glob "*.o,*.obj,*.exe" --global

Удалить файлы, которые еще не были закоммичены:

fossil delete myfile.c

или

fossil rm myfile.c

Это команда просто удалит файл myfile.c из списка файлов, которые были добавлены ранее через команду fossil add.

Файлы которые были добавлены в репозиторий ранее, тоже можно удалить этими командами. Имена файлов содержащих символы пробела или интернациональные символы следует брать в двойные кавычки. Пример:

fossil rm "Фото моей тёти.jpg"

Проверить текущее состояние править

fossil changes

Это команда показывает список изменений, которые будут совершены, когда вы запустите fossil commit. Это полезная команда для запуска перед коммитом, чтобы проверить все ли в порядке.

Фиксация изменений править

Чтобы действительно применить намеченные изменения в репозитории, например: новые файлы помеченные для добавления, извлеченные файлы, которые были отредактированы и должны быть проверены и т. д.

fossil commit -m "Added stuff"

Если имена файлов не введены в командной линии, то все изменения будут зарегистрированы, в противном случае будет проведён commit для перечисленных файлов.

Сравнение двух ревизий файла. править

Если вы хотите сравнить последнюю версию файла в репозитории c его версией в вашем рабочем каталоге наберите:

fossil gdiff myfile.c

Если вы хотите сравнить две разных ревизии одного файла в репозитории:

fossil finfo myfile

Примечание: обратите внимание на первый хэш UUID фиксации, когда файл был закоммичен.

fossil gdiff --from UUID#1 --to UUID#2 myfile.c

Отменить изменения и вернуться к предыдущей версии править

fossil revert myfile.c

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

Закрыть репозиторий править

fossil close

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

Fossil в Windows 7 править

Не следует помещать fossil.exe в system32, так как потом почему-то не работает команда fossil ui

Распространение изменений править

Чтобы обновить изменения на удалённом репозитории:

fossil push URL

Чтобы обновить локальный репозиторий из удалённого:

fossil pull URL

Синхронизировать локальный и удалённый репозиторий — аналог двух выполненных команд push и pull:

fossil sync URL

Чтоб изменения из удалённых репозитория устанавливались в виде отдельной ветки выполните

fossil update VERSION

Отменить последние изменения до commit:

fossil undo

Иногда пользователи не хотят делится изменениями в своём репозитории. Для этого нужно запускать:

fossil commit --private

Если вы почистили свою папку с исходниками и удалили кучу файлов, то fossil при commit будет ругаться. Эту проблему можно решить запустив

fossil addremove

Ссылки править