Ответ 1
Разница между двумя ветвями:
hg diff -r BRANCH1:BRANCH2
Различить один файл между двумя ветвями:
hg diff -r BRANCH1:BRANCH2 the_sinlge_file_to_diff
Ссылка
Я работаю на веб-сайте, используя два ветки: разработка (для активной работы с кодом) и по умолчанию (где я объединяю функции, когда они готовы идти в прямом эфире). Я только что объединил изменения, и я получаю это сообщение при переключении между двумя ветвями:
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Я запустил hg status --rev default:develop
, чтобы выяснить, к какому файлу он относится, но мне не удалось выяснить, что другое.
Вот что я пробовал до сих пор:
hg diff --rev default:develop
hg diff --rev default:develop file.php
Может ли кто-нибудь указать мне в правильном направлении?
Разница между двумя ветвями:
hg diff -r BRANCH1:BRANCH2
Различить один файл между двумя ветвями:
hg diff -r BRANCH1:BRANCH2 the_sinlge_file_to_diff
Ссылка
Я только что объединил изменения, и я получаю это сообщение при переключении между двумя ветвями:
Когда вы объединяете ветвь по умолчанию, ветка все еще имеет голову в предыдущем наборе изменений. Согласование слияния относится к ветке по умолчанию, а не к ветке разработки. Это позволяет перейти к ветке разработки и продолжить работу.
Итак, если вы это сделали:
# hg update default
# hg merge develop
# hg commit
... вы получите...
D1 --- D2 --- D3 --- D4
/
/
V1 --- V2 --- V3 -
D
- default
, V
- deVelop
. D4
- это слияние. Это состояние, в котором вы находитесь. Когда вы переключаетесь между ветвями, вы переключаетесь между D4
и V3
. Один файл, который изменяется, является файлом, который был изменен в ветке default
. Если вы тогда продолжали и делали...
# hg update develop
<some work>
# hg commit develop
... вы получите...
D1 --- D2 --- D3 --- D4
/
/
V1 --- V2 --- V3 --- V4
V4 основан на V3, изменении на ветке разработки до слияния, а не на объединенной версии.
Это не отвечает на ваш вопрос diff, но он говорит вам, почему ваши ветки не содержат одно и то же.