Может ли Fossil вставить контрольную сумму SHA1 немедленной фиксации в файл?

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

Спасибо


person JohnD    schedule 01.12.2010    source источник
comment
+1. Это правильный вопрос, даже если ответ на самом деле таков: вы не можете. ИМХО, минусовать не стоит.   -  person RBerteig    schedule 04.03.2011


Ответы (2)


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

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

Обратите внимание, что последние версии ископаемых не оставляют эти файлы, если параметр «манифест» не включен с помощью команды, например fossil setting manifest 1.

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

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

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

person RBerteig    schedule 04.03.2011

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

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

person Tangent 128    schedule 04.12.2010