Если вы знаете, что есть хотя бы один общедоступный набор изменений, вы можете использовать это:
hg bundle -r "not public()" --base public()
OTOH, который не будет работать, если нет общедоступных наборов изменений, используйте вместо этого:
hg bundle -r "not public()" --base null
Проблема с ответом Мартина заключается в том, что он полагается на исходящие данные, что, в свою очередь, зависит от прямого подключения к пуш-репо.Если у вас не всегда есть интернет-соединение с этим репо, эти методы хорошо работают для меня.Это также несколько проще, чем фазовый танец.
Один из тестов на наличие открытых наборов изменений - это захватить вывод:
hg log -r public() -l 1 --template "{rev}"
и проверить его длину или наличие [0-9].