jj, — система контроля версий, которая работает поверх обычного Git-репозитория: коллеги видят привычные ветки и коммиты, а у вас другая модель. Рабочая копия сама по себе коммит, staging area нет, любая операция отменяется через jj undo, конфликты хранятся в истории и не блокируют работу. 6 августа вышла версия 0.44.0, у проекта 31 тыс. звёзд на 17 августа.🔘 стабилизирована работа с тегами:
jj git fetch забирает их как <имя>@<remote>, теги можно отслеживать и не отслеживать как bookmarks, jj git push --all теперь пушит и теги;🔘 новый revset
merge_point() находит точку слияния веток, по аналогии с fork_point;🔘
jj file search печатает совпавшие строки с именем файла, номер строки добавляет -n, старое поведение — через --name-only;🔘
jj run идёт по ревизиям от старых к новым, получил --passthrough, --ignore-changes и --ignore-errors;🔘 повторно переданный аргумент больше не ошибка, побеждает последний.
Альтернатива очевидна: сам Git. У него любой хостинг, submodules, IDE и десять лет чужих скриптов; у
jj Git-совместимость объявлена стабильной, а команды и рабочий процесс до 1.0 могут меняться, о чём проект пишет в каждом релизе. Зато переписывание истории и работа с несколькими правками одновременно здесь заметно проще.@prog_tools