LINUX.ORG.RU

Pijul 0.11

 , , ,


3

6

Вышла новая версия Pijul — свободной системы управления версиями, основанной на теории патчей и написанной на языке Rust.

Pijul развивает идеи Darcs — Pijul быстрее, лучше, в нём решена проблема экспоненциальной сложности слияния и поддерживаются ветки (для всех, кто спросил и еще спросит «чем оно лучше Git» - ссылка на FAQ)

Слово «Pijul» (произносится «пихуль») — это мексиканское названия Бороздчатоклювого ани, вида птиц семейства кукушковых, чьи особи совместно работают над строительством гнёзд.

Улучшения в версии 0.11:

  • Добавлено частичное клонирование подкаталогов: pijul clone --path и pijul pull --path. При этом скачиваются только те патчи, которые затрагивают указанный подкаталог.
  • Добавлен парсер ~/.ssh/config — теперь Pijul будет автоматически использовать настройки псевдонимов хостов, SSH-прокси, ключей и т. д.
  • Внутренняя архитектура переведена на использование библиотеки Tokio — де-факто стандарта для асинхронного программирования на языке Rust. Минус велосипеды, новичкам будет проще разобраться в коде Pijul.
  • Исправлено много мелких и две крупные ошибки. Одна из них приводила к падению производительности при использовании pijul record, другая в некоторых случаях приводила к изменении содержимого патчей и файлов после клонирования.

Для нужд Pijul автором также развиваются вспомогательные библиотеки:

  • Thrussh — реализация клиента и сервера SSH на языке Rust.
  • Pleingres — клиентская библиотека, реализующая сетевой протокол PostgreSQL на языке Rust.
  • Sanakirja — хранилище «ключ-значение» на языке Rust, основанное на B-деревьях и поддерживающее транзации (аналог LMDB). «Sanakirja» по-фински означает «словарь».

Автор также разрабатывает Pijul Nest — аналог GitHub на основе Pijul и Rust. К сожалению, Nest пока не является свободным проектом.

>>> Подробности



Проверено: Shaman007 ()
Ответ на: комментарий от anonymous

Городить свою либу со своими контейнерами для того, чтоб получить persistent data structures это так по взрослому. В языках с GC можно использовать _любые_ типы данных как persistent. Когда ты выпустишься из садика, то узнаешь что для любой задачи есть свои подходящие инструменты.

anonymous ()
Ответ на: комментарий от anonymous

Городить свою либу со своими контейнерами для того, чтоб получить persistent data structures это так по взрослому. В языках с GC можно использовать _любые_ типы данных как persistent.

Прибивать язык к GC, чтобы все структуры данных были persistent - это так по-взрослому.

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

Так выпускайся поскорее.

tailgunner ★★★★★ ()
Ответ на: комментарий от anonymous

Прежде чем что-то отвечать, стоит внимательно прочесть сообщение. Где автор «собирается заменить С/С++»? Вроде бы наоборот.

Тебе был тот же совет! Задолбал, короче.

Ты можешь продолжать спорить сам с собой. Меня туда в свои споры не припутывай больше.

dave ★★★★★ ()
Последнее исправление: dave (всего исправлений: 1)