TortoiseHg - Как создать патч без предварительной фиксации

Когда я хочу создать патч для своего локального набора изменений, мне действительно нужно сначала зафиксировать любой патч, который я могу создать. Могу ли я узнать в TortoiseHg, как я могу создать патч без выполнения фиксации?


person Cheok Yan Cheng    schedule 23.03.2011    source источник
comment
Могу я спросить вас, в чем проблема выполнения коммита? это локально и тогда можно сделать откат   -  person xanatos    schedule 23.03.2011
comment
Аналогичный вопрос: stackoverflow.com/questions/34804230/ (в ответе подробно описано, как использовать команду «Копировать патч»)   -  person wip    schedule 12.10.2017


Ответы (3)


TortoiseHg 2.0.2: в верстаке вы можете щелкнуть правой кнопкой мыши по строке Working Directory и выбрать Export / Copy patch из контекстного меню - полученный diff будет помещен в буфер обмена.

Конечно, у вас не будет заголовка набора изменений и сообщения коммита в начале патча, как вы получите от той же операции, выполненной при коммите:

# HG changeset patch
# User John Doe <[email protected]>
# Date 1300889184 -7200
# Node ID 0050250004150030450034543labc23598235325
# Parent  098140937509174fbca7089686d986986e06f097
Sample commit message ...

Благодаря xanatos:

Вы можете включить «формат git» для различий (которые включают двоичные данные) в рабочей среде: File->Settings->Compare->Git Format = True (значение по умолчанию не указано, оно равно False)

person alexandrul    schedule 23.03.2011
comment
НО он не экспортирует двоичные различия. Это баг или фича? - person xanatos; 23.03.2011
comment
что вы подразумеваете под двоичным diff? diff содержит изменения бинарных файлов - person alexandrul; 23.03.2011
comment
Я проверял, и это не так. Он содержит только diff -r 643f4bf52c4c Nuovo WinRAR ZIP archive.zip Двоичный файл Nuovo WinRAR ZIP archive.zip изменился (я добавляю пустой Zip... Он на итальянском, потому что я итальянец. Nuovo = Новый) - person xanatos; 23.03.2011
comment
можешь попробовать ночную сборку, пожалуйста? bitbucket.org/tortoisehg/thg-winbuild/downloads - person alexandrul; 23.03.2011
comment
Вы можете включить формат git для различий (которые включают двоичные данные) в рабочей среде: File->Settings->Compare->Git Format = True (значение по умолчанию не указано, оно равно False) - person xanatos; 23.03.2011
comment
Если хотите, я могу попробовать, но я думаю, что это настройка формата Git... Или, может быть, она должна всегда показывать двоичные различия? Я добавлю, что кажется (если вы изменяете двоичные файлы или переименовываете файлы, вы можете использовать патчи в стиле git с hg diff -g, чтобы сохранить такую ​​​​информацию в патче., developer.mozilla.org/en/Mercurial_FAQ), что стандартный формат не включает двоичные различия. - person xanatos; 23.03.2011
comment
вы правы, это настройка формата git, которая позволяет включать двоичные файлы diff - person alexandrul; 23.03.2011
comment
Я не думал об этом параметре, потому что всегда устанавливал для него значение true, чтобы отслеживать переименования. См. также: mercurial.selenic.com/wiki/GitExtendedDiffFormat - person alexandrul; 23.03.2011
comment
В: Можем ли мы сделать --git значением по умолчанию? A: Нет, это нестандартно. :-) - person xanatos; 24.03.2011
comment
Это выбор каждого пользователя, но я предпочитаю называть это эволюцией. По той же причине я отказался от Subversion :D - person alexandrul; 24.03.2011
comment
Отличная функция для быстрого резервного копирования локального состояния в конце рабочего дня. - person Darren Lewis; 06.01.2016

hg diff -g то, что вы ищете?

Взято из «Как я могу сравнивать и исправлять файлы?» из https://developer.mozilla.org/en/Mercurial_FAQ

person xanatos    schedule 23.03.2011

для одного файла в вашем верстаке (tortoisehg) вы нажимаете на свой рабочий каталог и на панели списка файлов, щелкните правой кнопкой мыши файл и, как сказал @alexandrul, нажмите Copy Patch

person Bakhshi    schedule 22.02.2013
comment
Далее, Репозиторий › Импорт патчей имеет кнопку «Импортировать из буфера обмена». - person Jeroen K; 08.06.2017