Прочитав некоторые сообщения здесь на эту тему, я понимаю, что есть довольно много минусов, которые говорят против использования подстановки ключевых слов. Тем не менее, мне нужен способ решения следующей проблемы, и я надеюсь, что у кого-то есть идея, как решить эту проблему с помощью git (независимо от того, используется ли подстановка ключевых слов):
У меня есть основное приложение, для которого я использую git в качестве VCS. Части этого основного приложения (определенный набор XML-файлов) используются утилитой, для которой я также использую git (отдельное хранилище).
Теперь основное приложение и утилита имеют разные циклы выпуска, и всякий раз, когда я выпускаю новую версию утилиты, я копирую самый последний набор XML-файлов из основного приложения.
Внутри утилиты этот набор XML-файлов является не версионным контентом в git, поэтому он даже не зарегистрирован в репо.
На данный момент, когда я смотрю на разные выпуски этой утилиты (которая управляется git и имеет помеченные выпуски), у меня нет возможности узнать, какая "версия" (лучше: commit хэш) набор содержащихся XML-файлов имеет в виду.
Поэтому я подумал: если я смогу получить последний SHA-коммит в этих XML-файлах (как комментарий), я всегда буду знать, к какому набору XML-файлов относится определенная версия моей утилиты.
Есть ли что-то не так в этом подходе или это путь? Если да, как мне вставить последний коммит-SHA в мои XML-файлы? (Я читал, что $ Id: $ не будет принимать коммит-SHA, но какой-нибудь "blob" -SHA?)