В
jj, системе контроля версий поверх Git, у изменения постоянный change ID, и когда одно изменение оказывается переписано дважды по разным веткам истории операций, в логе появляются два коммита с одним ID. Раньше это разгребали руками через abandon, squash и rebase. В версии 0.45.0, вышедшей сегодня, появился jj converge: группирует ревизии по change ID, собирает из расходящихся одну новую, перебазирует на неё потомков и переносит закладки. Спрашивает только когда эвристики не справились: слить ли описания, каких родителей взять. Результат смотрят через jj op show -p, откатывают через jj undo.▪️ Ломающее:
jj config edit/set/unset --user правит первый загруженный конфиг без вопроса; нужный файл указывать через --file <PATH>.▪️ Ломающее:
jj git import в неколоцированных репозиториях не импортирует коммиты с detached HEAD.▪️ Git HEAD теперь хранится отдельно для каждого worktree, репозитории мигрируют сами.
▪️ Обновление:
cargo binstall --strategies crate-meta-data jj-cli или brew install jj.Полный список изменений и что проверить после обновления, разобрали на сайте.