Mercurial GUI с поддержкой эволюции

Я ищу графический интерфейс для системы контроля версий Mercurial. Прямо сейчас я использую TortoiseHg, который мне очень нравится, но он не имеет встроенной поддержки evolveрасширения с графическим интерфейсом (например, объединение нескольких коммитов в один). В основном я ищу что-то похожее на TortoiseHG, но с хорошей поддержкой для эволюции.

Я также использовал SmartGit, который поддерживает Hg, но, похоже, не имеет графического интерфейса для развития. Я бегло взглянул на SourceTree, но тот факт, что теперь он требует от вас входа в систему с учетной записью Atlassian, не привлекателен, и, насколько я понимаю, он все равно не поддерживает графический интерфейс для развития.

Я ищу решение, которое бесплатно и в идеале с открытым исходным кодом.

Кроме того, надеюсь, это очевидно из вопроса, но просто для ясности: я использую Mercurial . Я не хочу использовать Git. Интерфейсы Git GUI не являются решением.

Ответы (1)

В настоящее время TortoiseHg имеет некоторую интегрированную поддержку графического интерфейса evolve: рабочая среда показывает отношения устаревания и проблемные версии, а команда «Strip» становится «Prune», когда evolveона включена.

Он еще не поддерживает все новые команды, такие как hg fold, или даже hg evolve, но вы можете добавить их самостоятельно с помощью Custom Tools .

Например, попробуйте объединить это с вашим mercurial.ini, чтобы получить команду контекстного меню для развития определенных версий и глобальную команду для развития всего в репозитории:

[tortoisehg]
workbench.revdetails.custom-menu = evolve-rev
workbench.multipleselection.custom-menu = evolve-rev
workbench.custom-toolbar = evolve-any-all
workbench.pairselection.custom-menu = evolve-rev

[tortoisehg-tools]
evolve-any-all.command = hg evolve --any --all
evolve-any-all.enable = istrue
evolve-any-all.icon = hg-extensions
evolve-any-all.label = Evolve Any/All
evolve-any-all.showoutput = True
evolve-any-all.tooltip = Evolves all troubled revisions.
evolve-rev.command = hg evolve -r {REV}
evolve-rev.enable = istrue
evolve-rev.icon = hg-extensions
evolve-rev.label = Evolve
evolve-rev.showoutput = True
evolve-rev.tooltip = Evolves the selected troubled revision(s).

Кроме того, помните, что вы можете ввести любую hgкоманду в панели консоли TortoiseHg, и одна команда CLI часто может заменить несколько операций графического интерфейса. Например, чтобы переупорядочить и объединить большой стек коммитов, вы можете выполнить hg histeditодин раз вместо того, чтобы перемещать и сворачивать каждый из них по отдельности.