@ У Мартин есть правильный ответ, но, похоже, он не щелкает.Если это что-то прояснит, выберите его:
- Время фиксации для наборов изменений Mercurial не имеет абсолютно никакого отношения к тому, как они объединяются, чередуются или объединяются
Mercurial,и другие DVC, все отслеживание истории полностью основано на DAG (направленный ациклический граф), что означает:
- только только часть метаданных, которые имеют значение, являются родителями или родителяминабор изменений
Перед фиксацией вы можете увидеть, какой будет родитель вашей группы изменений, набрав hg parents
, а после фиксации вы можете увидеть его в hg log
.
В ваших примерах, если вы извлекли наборы изменений вашего коллеги и обновили свой рабочий каталог, чтобы отразить их (hg pull ; hg update
), тогда его или ее набор изменений будет родителем вашего набора изменений.Если вы не вытянули / не обновили, чтобы отразить его или ее набор изменений, тогда оба ваших набора изменений будут иметь одного и того же родителя - они будут братьями и сестрами - когда при слиянии ни один из них не будет иметь приоритет над другим в любом случае.
Порядок, когда вы делаете hg log
, определяется порядком, в котором набор изменений поступил в ваш локальный репозиторий, и может отличаться от репо к репо в зависимости от того, куда они потянулисначала - вот почему вы не можете использовать целые числа, показанные рядом с наборами изменений, для операций перекрестного репо - только хэш является глобальным.
Короче говоря, дата никогда не согласованав обычных операциях и является чисто метаданными , не более релевантными, чем описание автора или коммита.