Правильные svn-метки диапазона ревизий - PullRequest
1 голос
/ 04 апреля 2019

Я не заметил, что системное время моего SVN-сервера изменилось (несколько месяцев назад).

В прошлом время сервера составляло 5,5 часов, поэтому мои временные метки зафиксированы.

Есть ли способ исправить временные метки для диапазона ревизий?

Что-то вроде: rev.timestamp = rev.timestamp + 5.5 часов?

1 Ответ

0 голосов
/ 04 апреля 2019

Дата вашего коммита определяется в неверсированном свойстве svn:date (он же свойство ревизии) в формате ISO 8601.Таким образом, вы можете написать скрипт, который изменит значение свойства на то, что вам нужно.

Вот пример, который использует последние инструменты командной строки администратора Subversion 1.11.x и предполагает, что у вас есть права локального администратора насервер SVN.Вы можете загрузить новейшие инструменты по адресу https://www.visualsvn.com/downloads/.

  1. . Выгрузить ревизии текущего хранилища в файл: svnadmin dump-revprops MyRepo -r REV1:REV2 > myrevprops.rpdump

Заменить REV1 и REV2 первыми и последними ревизиями, которыеВы хотите изменить.Вот пример вывода команды:

SVN-fs-dump-format-version: 2

UUID: 044999d0-8b80-614c-8958-c042f8e3b5fb

Revision-number: 1
Prop-content-length: 122
Content-length: 122

K 10
svn:author
V 15
Pavel.Lyalyakin
K 8
svn:date
V 27
2019-04-04T17:04:19.559381Z
K 7
svn:log
V 11
Test commit
PROPS-END

* Dumped revision 1.

Сделайте резервную копию вашего хранилища и файла myrevprops.rpdump.

Измените значение svn: date в файле myrevprops.rpdump с помощью текстового редактора.

Запустите следующую команду для загрузки новых revprops.

svnadmin load-revprops MyRepo -r REV1:REV2 < myrevprops.txt

Вот так, вы должны увидеть, что новое время должнобыть связанным с вашими коммитами сейчас.

...