Кажется, что полки в командной строке черепахи и Mercurial не взаимодействуют? - PullRequest
0 голосов
/ 20 декабря 2018

Если я добавлю что-нибудь на полку Mercurial в командной строке:

C:> hg shelve ...

, когда я посмотрю в TortoiseHG Workbench в меню Хранилище> Полка> , НЕТ новогосоответствующая запись (в раскрывающемся списке).

Аналогичным образом, если я сделаю противоположное и выполню операцию откладывания в THG, а затем запусту hg shelve -l или просто hg unshelve в командной строке, кажется, что он игнорируетНовая полка.

Почему это происходит?Есть ли настройка или что-то подобное, что влияет на это?

1 Ответ

0 голосов
/ 20 декабря 2018

Функции полок в «ядре» Mercurial (командная строка hg) и графический интерфейс TortoiseHG, насколько я знаю, полностью независимы друг от друга.

(Исторически сложилось так, что эта странная ситуацияЯ полагаю, что это связано с тем, что функция THG создавалась первой, а затем к собственно HG была добавлена ​​аналогичная / аналогичная функция с тем же именем.


IMO функция стеллажей HG работает лучше, чем функция THGс точки зрения эффективного использования логики слияния HG для внесения отложенных изменений в локальную рабочую папку во время небрежной операции.Как только я это понял, я больше никогда не использую полку THG, и это то, что я рекомендую.


Можно настроить THG Workbench для интеграции (в определенной степени) с функцией полок HG,Инструкции:

Отредактируйте файл настроек mercurial.ini.(Либо через Файл> Настройки> Настройки Gobal> Кнопка Изменить файл , либо откройте файл в редакторе вручную).

Добавьте следующие разделы и элементы:

[tortoisehg]
...
workbench.custom-toolbar = HG_shelve HG_unshelve

и

[tortoisehg-tools]
HG_shelve.command = hg shelve
HG_shelve.enable = istrue
HG_shelve.icon = go-next
HG_shelve.label = HG_shelve
HG_shelve.showoutput = True
HG_shelve.tooltip = HG_shelve
HG_unshelve.command = hg unshelve
HG_unshelve.enable = istrue
HG_unshelve.icon = go-previous
HG_unshelve.label = HG_unshelve
HG_unshelve.showoutput = True
HG_unshelve.tooltip = HG_unshelve

(старайтесь не дублировать существующие секции [tortoisehg] или [tortoisehg-tools]).

Это приведет к появлению новых кнопок на панели инструментов:

enter image description here

Одна стрелка откладывает текущую рабочую папку, другая - не откладывает ее.

Очевидно, что запуск полок / неблокирование таким образом довольногрубо, но я считаю, что 99% времени это все, что мне нужно.


Примечания:

Вышеуказанные правки .INI также можно сделатьчерез THG Workbench Файл> Настройки> Инструменты Раздел GUI .: enter image description here

Вам не нужно использовать эти конкретные значки, если вы предпочитаете что-то другое,У THG есть другой выбор.

...