Мне нужно создать уникальные «неизменяемые» идентификаторы для фрагментов кода в моем репозитории, которые охватывают все версии данного объекта/фрагмента кода. Цель состоит в том, чтобы, если кто-то пришлет фрагмент кода, я мог быстро сопоставить его с объектом, используя sha1 кода (если он или его предыдущая версия находится в репозитории отправителей). Оттуда я могу использовать этот уникальный идентификатор для извлечения метаданных о фрагменте кода.
sha1 в git кажутся отправной точкой для создания UUID (версия 5), и можно выполнить поиск в репозитории git, начиная с sha1, а затем пройти по дереву, чтобы найти исходный sha1 файла, когда он был впервые зафиксирован. Имеет ли смысл использовать этот номер для уникального идентификатора фрагмента кода во всех его ревизиях?