Различаются две версии в Hg - PullRequest
1 голос
/ 22 июня 2011

Я пытаюсь увидеть различия между двумя версиями проекта. То, как я изначально думал сделать это:

  1. Создать новый репозиторий
  2. Передача первой версии в репозиторий
  3. Перезаписать первую версию второй версией, зафиксировать в хранилище
  4. hg diff две версии

Это не сработало, потому что когда вторая версия перезаписывала первую версию, Mercurial предполагал, что каждый отдельный файл был изменен. В действительности только несколько файлов изменены, и я хочу посмотреть, что конкретно было изменено в каждом файле.

WinDiff дает мне список файлов, которые были изменены, но это так, поэтому я действительно хотел бы использовать Hg, чтобы получить подробности.

РЕДАКТИРОВАТЬ: Я использую Eclipse. Что я конкретно делаю, так это создаю новый проект Java, используя функцию импорта Eclipse, чтобы импортировать нужные мне исходные файлы, а затем зафиксировать этот проект в моем хранилище. Затем я снова использую импорт, чтобы импортировать версию 2 в тот же проект, чтобы файлы первого перезаписывались. У меня остались файлы с одинаковыми именами, но это файлы версии 2. Затем я фиксирую новые файлы в хранилище.

Моя версия Mercurial - 1.8.3. Выполнение вышеуказанных шагов дает мне только одну ревизию.

Кроме того, при создании diff есть способ указать только diff файлы Java, а не текст или свойства и т. Д .?

Ответы [ 3 ]

1 голос
/ 30 января 2012

Ваша процедура в порядке, просто не забудьте использовать hg addremove, как Лассе указал в комментариях.Итак, полная процедура:

  1. Создание нового хранилища
  2. Импорт первой версии в хранилище
  3. Запуск hg add и hg commit
  4. Удалитьвсе файлы, кроме .hg
  5. Импорт второй версии в репозиторий
  6. Запуск hg addremove и hg commit
  7. hg diff двух версий

Шаг hg addremove даже обнаружит файлы, которые были переименованы между двумя версиями.Вы также пишете:

Кроме того, при создании diff есть способ указать только файлы diff diff, текст или свойства и т. Д .?

Да,Вы можете использовать флаг --include для этого:

$ hg diff -I '**.java'
0 голосов
/ 14 июля 2013

Для сравнения двух версий файла в Eclipse:

  1. Щелкните правой кнопкой мыши по файлу и перейдите в Team> Show History
  2. Должно открыться представление «История», в котором будут показаны все подтвержденные версии файла.
  3. Дважды щелкните по версии, с которой вы хотите изменить свою голову.
0 голосов
/ 14 мая 2012

Я не понимаю, почему вы не можете напрямую использовать Mercurial в исходном хранилище вашего проекта.

Чтобы узнать, какие изменения в файлах Java между REV1 и REV2 вашего проекта:*

hg diff -r REV1 -r REV2 -I **.java
...