Система контроля версий, которая сохраняет оригинальные метки времени? - PullRequest
0 голосов
/ 28 апреля 2018

Этот вопрос связан с Полезно ли сохранять оригинальную временную метку в базарном коммите / извлечении / и т.д.? и в частности от этот ответ .

В идеале, при использовании Контроль версий (VC), с программным обеспечением, таким как базар (Система контроля версий, VCS), можно было бы:

  1. Сохраняйте истинное время изменения содержимого файлов в разных копиях, поскольку это важная часть информации о файле . Это верно независимо от конкретного содержимого файлов в VC.
  2. Убедитесь, что цели сборки в зависимости от измененных предпосылок, которые находятся под VC, перестраиваются после получения модифицированных копий (например, bzr pull). Это важно из-за типичного использования VCS: разработка программного обеспечения. Цитата из Википедии :

    Необходимость в логическом способе организации и контроля версий существовала почти столько же, сколько существовало письмо ... Сегодня наиболее эффективными (а также сложными) системами контроля версий являются те, которые используются при разработке программного обеспечения, .. .

  3. Убедитесь, что цели сборки , а не в зависимости от измененных предпосылок, которые находятся под VC, не перестроены после получения модифицированных копий. Это позволяет избежать значительной перегрузки во время обработки. (Я не вижу другого недостатка, чтобы отказаться от этого пункта).

Есть ли VCS, которая достигает всех трех?


С bzr в его нынешнем виде невозможно получить три.

Можно получить (1 + 2) используя исходную временную метку и делая make clean (или подобное) с каждым pull, перестраивая все цели вместо нескольких. С другой стороны, можно получить (2 + 3) используя «сейчас» в качестве метки времени. (1 + 3) невозможно или интересно.

bzr, имея в виду разработку программного обеспечения, позволяет (2 + 3) преобладать, отказываясь от пункта 1.

1 Ответ

0 голосов
/ 28 апреля 2018

Это не отвечает на конкретный вопрос (есть ли VCS, который достигает всех трех?), Но предлагает способ его достижения.

  1. pull измененные файлы с «сейчас» в качестве метки времени (как это делает bzr), но также извлекают информацию об истинном времени изменения этих файлов и сохраняют его.
  2. Восстановление сил.
  3. touch измененные файлы с известным истинным временем модификации.

Это оставит локальную копию в идеальных условиях. Таким образом, часть программного обеспечения, которая могла бы работать таким образом, была бы решением. Более того, действия (2 + 3) могут быть заключены в действие «расширенной сборки».

...