Прежде чем я перейду к удаленному репозиторию, я хочу увидеть консолидированную разницу между заголовком моего локального репозитория и заголовком репозитория, который я тоже нажимаю. Лучший способ, которым я знаю, это сделать hg clone
удаленный репозиторий, получить ревизию головы, а затем сделать разницу между моей головой и этой версией. Но это отнимает много времени. Есть ли быстрый способ?
Как просмотреть разницу между заголовком локального репозитория и главой удаленного хранилища?
Ответ 1
В дополнение к
$ hg outgoing -p
который я обычно использую, я хотел бы указать вам на комплекты ревизий. Это язык запросов, который можно использовать с помощью hg diff
(и всех других команд, которые позволяют вам указывать набор изменений). Таким образом, вы можете реализовать hg outgoing -p
на
$ hg log -r "outgoing()" -p
и вы можете получить разницу между родителем первого исходящего набора изменений и последним исходящим набором изменений с помощью
$ hg diff -r "p1(first(outgoing()))" -r "last(outgoing())"
Наконец, расширение remotebranch может поддерживать локальную информацию о удаленных ветких, так что вам не нужно использовать сеть для поиска этой информации, Он позволяет использовать
$ hg log -r "not pushed()"
чтобы найти исходящие изменения, но это намного быстрее, так как там не задействованы сетевые маршруты.
Ответ 2
Если вы ищете способ получить все сделанные вами изменения, которые не находятся в удаленном репозитории.
$ hg outgoing -p
-p
является необязательным и сообщает в виде патча, в противном случае он сообщает так же hg log
. Это ваши изменения независимо от того, кто-то еще что-то нажал на удаленный репозиторий.
Если вы ищете изменения в удаленном репозитории, которых у вас нет, вы используете
$ hg incoming
Снова там a -p
, если вы этого хотите.
Ни один из них не является именно тем, что вы просили, но я подозреваю, что вы этого действительно не хотите.
Если вам действительно нужна разница между вашими изменениями и новой головой в удаленном репо, созданным кем-то другим, вам нужно будет переложить свои изменения.
hg pull
hg heads # find revision number of new head
hg diff -r 124992 # or whatever the revision number is.