JetBrains ускорила интерактивное перебазирование в средах разработки

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

JetBrains ускорила интерактивное перебазирование в средах разработки. Фото: из архива компании

На протяжении пятнадцати лет интеграция Git в IDE компании строилась на простом принципе: запускать стандартные команды Git и анализировать их вывод, чтобы избежать риска повреждения репозитория. Однако со временем Git усложнялся, репозитории росли, и такие операции, как интерактивная перебазировка, в монорепозитории IntelliJ IDEA могли занимать десятки секунд.

Инженеры JetBrains выяснили, что основное время уходит на последовательное извлечение коммитов, обновление рабочего дерева и заполнение индекса Git. В ответ на это они разработали оптимизацию, которая выполняет перебазирование прямо в памяти, используя низкоуровневые команды вроде git cat-file и git commit-tree, а также git merge-tree для бесконфликтного трёхстороннего слияния.

Если возникает конфликт, система переключается на обычный процесс Git и останавливается для его разрешения. В монорепозитории IntelliJ среднее время интерактивной перебазировки сократилось с десятков секунд до нескольких секунд, причём улучшение стабильно наблюдалось на всех операционных системах, хотя на Windows остаётся потенциал для дальнейшей оптимизации.

Согласно собранным данным, около 12% интерактивных перебазирований приводят к конфликтам слияния, и лишь 1% завершается ошибкой. Та же техника была применена к другим действиям, например, к выделению выбранных изменений в отдельный коммит через панель «Изменённые файлы» в журнале Git.

КомандаJetBrains выражает благодарность сообществу, в частности проекту git-revise, статье Валида Хана и обсуждениям в сообществе Jujutsu, которые помогли сформировать этот подход, говорится в сообщении компании.

Упомянутые сервисы
Datalore Инструмент бизнес-аналитики для разработчиков.
Инструмент бизнес-аналитики для разработчиков.
Space Сервис для совместной работы над проектами с возможностью вести беседу в чате и установкой задач.
Сервис для совместной работы над проектами с возможностью вести беседу в чате и установкой задач.

Больше интересного

Актуальное

FreshOffice запустил мобильную версию CRM в браузере смартфона Почему новые Claude Fable 5.2 и Mythos 5.2 лучше других ИИ-моделей? Только до конца ноября: Adesk удваивает токены в Adesk AI
Ещё…

Популярные теги