Это уверенный кажется, что это - что-то, что компилятор должен смочь выяснить для себя, но существует еще один способ сделать это, с помощью ключевого слова по умолчанию. Это мог бы быть самый крошечный бит, менее ужасный, чем бросок:
int? someValue = SomeCondition ? ResultofSomeCalc() : default(int?);
Это использование значения по умолчанию, кажется, хорошо не документируется, но, действительно работает. По крайней мере, это мешает Вам иметь для замусоривания кода волшебными значениями (я спорю тот пустой указатель/нуль/ложь/и т.д. действительно волшебные значения).
Ваш вопрос состоит из двух частей. Во-первых, как получить метаданные и различие для набора изменений одновременно:
hg log --patch --rev tip
Вы можете сократить параметры:
hg log -pr tip
Вторая часть вопроса - как сказать «родительский набор изменений X», не просматривая его. Для этого вы можете использовать parentrevspec extension , упомянутый Мартином.
После включения расширения вы можете сделать:
hg log -pr tip^
Вы можете добавить псевдоним к вашему файлу ~ / .hgrc
если вы не хотите переучивать пальцы с помощью команды git:
[alias]
show = log -pr
Тогда вы можете использовать:
hg show tip^
Вам также следует взглянуть на расширение parentrevspec , чтобы включить больше Git- как синтаксис для указания редакций.