Используя Mercurial (hg), есть ли способ сравнить версии 4873 и 4821, но только для моих изменений?

Я хочу знать, какие изменения я внес, не просматривая 30 других файлов, измененных другими членами команды.

Итак, когда я hg out, он сказал, что первым набором изменений для отправки был 4821, так что с тех пор я вытягивал, объединял и отправлял пару раз. Теперь я хочу убедиться, что весь код отладки удален. Есть ли способ сравнить текущую версию (4873) с версией 4821, но только для моих изменений?


person nonopolarity    schedule 31.07.2010    source источник


Ответы (4)


Если ваши изменения находятся в других файлах, чем у ваших коллег, как это звучит, вы можете использовать что-то вроде этого:

hg diff -r 4821 -r 4863 -I path/to/file1 -I path/to/file2

Если они смешаны в тех же файлах, что и изменения других людей, вам нужно было бы сохранить свои изменения в отдельной ветке (для чего не требуется команда branch, для такого рода вещей обычно используется анонимное ветвление).

person Ry4an Brase    schedule 31.07.2010

Следующая команда должна помочь:

hg diff -r "4821:4873 and user(your_username)"
person Regent    schedule 23.12.2010

Я не знаю, сможете ли вы перейти на недавно выпущенную Mercurial 1.6 или нет, но это функционального языка запросов, которую они только что добавили.

person Santa    schedule 31.07.2010

Попробуйте этот подход:

  1. Сначала клонируйте локальное репо в другую папку.
  2. В новом клоне перебазируйте свой последний набор изменений, чтобы он сразу же следовал за вашим другим набором изменений (это должно создать из него новую голову)
  3. Сделайте разницу
person Lasse V. Karlsen    schedule 31.07.2010
comment
У меня сложилось впечатление, что у него есть несколько наборов изменений, перемежающихся с их собственными и несколько раз объединенных обратно, поэтому я не думаю, что он может разделить их с помощью перебазирования. - person Ry4an Brase; 01.08.2010