Pijul 0.3 -- новая система управления версиями

Вышел первый публичный релиз новой системы управления версиями Pijul 0.3, написанной на языке программирования Rust. Pijul объединяет в себе производительность git и простоту использования darcs. Основанный на модели теории патчей, Pijul направлен на то, чтобы сделать операции слияния и забора определенных коммитов (cherry-pick) более интуитивным.

Pijul можно установить при помощи пакетного менеджера для rust — cargo: команда cargo install pijul соберёт самую последнюю версию. Минимальная для сборки версия Rust — 1.15.1.

Примеры использования:

$ mkdir my_project
$ cd my_project
$ pijul init # создание нового пустого репозитория
$ echo " [ ] save the world" > todo.md # редактируем файл
$ pijul add todo.md # добавить todo.md: pijul начнёт отслеживать
                    # изменения в этом файле
$ pijul record # равнозначно 'git commit -p'
added file /home/florent/code/pijul/pijul/pijul/tuto/todo.md
Shall I record this change? [ynkad] y
+  [ ] save the world
Shall I record this change? [ynkad] y
What is your name ? Jean Doe 
What is the name of this patch? Lest I forget
Recorded patch AeNEKi1-S60Pe_Hy__lbsyyKIrnkFvDBC-AOG4uUf0KxRG6v2pqwv…

Пример создания клона и внесения изменений; на этот раз команда record используется с ключом -a для сохранения всех изменений в отслеживаемых файлах. pijul record -m <сообщение> добавляет сопутствующее сообщение без необходимости открывания редактора, --author позволяет указать авторство, только для этого случая.

$ cd ..
$ pijul clone my_project clone_of_my_project
$ cd clone_of_my_project
$ echo " [ ] save the world, starting with the koalas" > todo.md
$ pijul record -am "Think of the koalas" --author koala_lover@example.au
Recorded patch ATqiYHQE528y0irRT4Oh0HEGbsR9e8J-7VMqUljUvsmduIcBU1YGdN_Abg…

Возвращаемся в исходный репозиторий и мерждим изменения:

$ cd ../my_project
$ pijul pull ../clone_of_my_project
Hash: ATqiYHQE528y0irRT4Oh0HEGbsR9e8J-7VMqUljUvsmduIcBU1YGdN_AbgpWZ7eaj-1q3dOA2OU5YYA1t1DY_T8
Authors: ["koala_lover@example.au"]
Timestamp 2017-03-16 16:50:49.059851279 UTC
  * Think of the koalas
Shall I pull this patch? [ynkad] y
 
$ cat todo.md 
 [ ] save the world, starting with the koalas

Pijul — пока очень молодой проект: разработчики сами только начали его использовать для разработки самого проекта Pijul.

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

 darcs, dvcs, git, pijul

©  Linux.org.ru