Может ли Fossil вставить контрольную сумму SHA1 немедленной фиксации в файл? - PullRequest
1 голос
/ 02 декабря 2010

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

Спасибо

Ответы [ 2 ]

3 голосов
/ 04 марта 2011

Файл manifest.uuid содержит контрольную сумму коммита, а файл manifest содержит список файлов в этом коммите и их отдельные контрольные суммы.(manifest.uuid это просто SHA1 манифеста).Оба файла представляют собой простой текст и легко разбираются.

Сборка для ископаемого сама по себе показывает одно использование.При сборке файл manifest.uuid преобразуется с помощью awk) в строковый литерал C в форме "[1234567890]" и используется для формирования текста имени ревизии, который отображается во всех нижних колонтитулах html-страниц.что последние версии окаменелости не оставляют эти файлы, если параметр «manifest» не включен с помощью команды, подобной fossil setting manifest 1.

В качестве альтернативы, вы можете проанализировать вывод fossil info или fossil status, оба из которых включают в себя значение текущего идентификатора проверки.

Для одного файла, fossil finfo сообщит полную историю изменений файла, которая включает идентификатор артефакта для этого файла в каждый момент времени.Это может быть проанализировано для идентификатора артефакта этого файла.Более того, fossil sha1sum сообщит сумму SHA1 любого файла (или файлов, или стандартного ввода).Сумма SHA1 для файла равна его идентификатором артефакта.

Так как идентификатор всей регистрации - это просто SHA1 его манифеста, который включает в себя SHA1 каждого зарегистрированного файла, он эффективноневозможно включить идентификатор регистрации внутри файла, зарегистрированного в.

2 голосов
/ 04 декабря 2010

Поскольку редактирование файла для вставки его контрольной суммы изменит контрольной суммы, это невозможно.

Я считаю, что файл манифеста (без расширения), помещенный в корень каждой проверки, делаетсодержать некоторую контрольную сумму, если синтаксический анализ является приемлемым.

...