Что касается второго вопроса: push_ref принимает ссылку как параметр, и вы не можете иметь ссылку на static const memeber класса / struct. После вызова static_cast создается временная переменная. И ссылка на этот объект может быть передана, все работает отлично.
Или, по крайней мере, мой коллега, который разрешил это, сказал.
Используйте hg archive -t tgz <целевой путь>
для экспорта чистой версии в виде gzip's tarball.
Альтернативно, вы можете использовать другое значение флага -t
, чтобы указать другой тип вывода. Все опции типа (и другие) можно найти на странице hg
man.
В Mercurial 1.6+ вам даже не нужно указывать тип с помощью -t
- вы можете просто использовать hg archive
, и Mercurial выведет нужный тип из имени файла.