fossil
Непопулярная, но очень занятная система управления версиями. Пробовала применять в домашней жизни, единственное, что печалило - неинтерес «напарника» так работать.
Сконвертить гитовый реп в фоссильный (назовём его book).
git fast-export --all | fossil import --git book.fossil
Anonymous Cloning:
fossil clone https://chiselapp.com/user/ladykosha/repository/book book.fossil fossil open book.fossil
Authenticated Cloning (я - ladykosha, здесь имеет значение, то, что перед @, второе - про то, что мой репозиторий):
fossil clone https://ladykosha@chiselapp.com/user/ladykosha/repository/book book.fossil fossil open book.fossil
Встроенный в fossil пользовательский интерфейс - практически всё, что нужно для маленького проекта.
После fossil new
и fossil open
, the only real interaction with a repository for a personal project is the occasional fossil changed and fossil extra to make sure I didn't change anything I didn't intend to change, and naturally fossil ci to check in those changes.
For browsing the repository fossil ui does everything I need. It is hard to beat the Timeline view, from which you can get to the files changed by that check in. There is also the Files view, from which you can see each file and inspect that file's timeline.
- http://www.fossil-scm.org/schimpf-book/dir?ci=tip
- http://fossilrepos.sourceforge.net/
- https://fuel-scm.org/fossil/wiki?name=Downloads - графический клиент для fossil.
- https://fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki
Команды
- fossil new - создать репозиторий
- fossil open - открыть его (скопировать файлы из репозитория в актуальный каталог)
- fossil status - что скажет фоссил о состоянии? Например, какие файлы были изменены, но не закоммичены. Какие были удалены. Какие добавлены. Более узкий вариант fossil changes - что было изменено в отслеживаемом.
- fossil extra - какие файлы не отслеживаются в папке репозитория?
- fossil add - добавить файлы в отслеживаемые. fossil add . - все. fossil add filename - отслеживать filename. fossil addremove - добавит все файлы, которые есть, удалит все, которых нет.
- fossil commit -m "Сообщение" - сохранить актуальное состояние отслеживаемых файлов, причём в timeline оно будет видно с комментарием «Сообщение». Обязательно делать fossil commit и fossil sync (или push) при завершении конкретного захода. Сохранить сделанное, отправить на сервер.
- fossil ui -port 8081 - запустит веб-интерфейс на указанном порту. Если порт не указывать, будет на 8080, или на том свободном, который найдёт.
- fossil clone url filename - копирует репозиторий с указанного адреса в файл, который дальше можно использовать, как свой репозиторий, можно синхронизировать с удалённым.
- fossil update - перед началом работы. Синхронизирует изменения, выдаёт самую актуальную версию всего. fossil update trunk filename - обновить из ветки с названием trunk конкретно файл filename
- fossil merge a91582b699 (хеш коммита) - слить ветки.
- fossil revert filename - вернуть файл к состоянию, в котором он хранится в репозитории.