Команда hg commit (и несколько других) предоставляют опцию --date чтобы указать, какую дату вы хотите сохранить для фиксации. Например, я могу сделать это:

hg commit --date "Oct 27 2000"

Притворись, что я внес изменения 13 лет назад.

Но мне бы не хотелось указывать опцию --date каждый раз, когда я фиксирую , и я бы хотел, чтобы истекшее время между фиксациями было правильным. Есть ли способ, которым я могу сказать mercurial что-то вроде "Считайте этот момент прямо сейчас полночью 27 октября 2000 года" (например), и он будет автоматически корректировать все метки времени оттуда?

Например, если эта гипотетическая команда была названа date , то она может выглядеть примерно так:

> date
Mon Oct 28 20:00:00 EDT 2013
> hg date "Oct 27 2000 00:00:00"
>
> #edit some files
> date
Mon Oct 28 20:30:00 EDT 2013
> # 30 minutes have elapsed
>
> hg ci
> hg log
changeset:   0:2f0b7f53d6e1
tag:         tip
user:        sh1ftst0rm
date:        Sun Oct 27 00:30:00 2000 -0400
>
> #edit some more files
> date
Mon Oct 28 21:15:00 EDT 2013
> # Another 45 minutes has elapsed, 1h15m since hg date was set.
>
> hg ci
> hg log
changeset:   1:a92497e622e9
tag:         tip
user:        sh1ftst0rm
date:        Sun Oct 27 01:15:00 2000 -0400

changeset:   0:2f0b7f53d6e1
user:        sh1ftst0rm
date:        Sun Oct 27 00:30:00 2000 -0400

1 ответ1

0

Я могу придумать два возможных решения:

  1. Напишите функцию оболочки / скрипт hg для использования вместо прямого вызова hg и добавьте в --date для коммита и других команд, которые в этом нуждаются. Это должно будет вычислить правильную дату от текущей даты.
  2. Создайте виртуальную машину и установите для нее время в прошлом и выполните все hg коммиты оттуда.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .