Краткая инструкция по 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 rmимя файла⟩. Запустить и проверить.

fossil commit 2> 4delete.sh
vim 4delete.sh

(Последней командой добавляем в начало каждой строчки fossil rm.)

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