Встроить хеш коммита git в dll .NETC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Встроить хеш коммита git в dll .NET

Сообщение Anonymous »

Я создаю приложение на C#, используя Git в качестве средства контроля версий.
Есть ли способ автоматически встроить хеш последнего коммита в исполняемый файл при создании приложения?< /p>
Например, вывод хеша фиксации на консоль будет выглядеть примерно так:
class PrintCommitHash
{
private String lastCommitHash = ?? // What do I put here?
static void Main(string[] args)
{
// Display the version number:
System.Console.WriteLine(lastCommitHash );
}
}

Обратите внимание, что это должно быть сделано во время сборки, а не время выполнения, так как мой развернутый исполняемый файл не будет иметь доступ к репозиторию git. .
Соответствующий вопрос по C++ можно найти здесь.

РЕДАКТИРОВАТЬ

По просьбе @mattanja я публикую скрипт git-хука, который использую в своих проектах. Настройка:
  • Хуки — это сценарии оболочки Linux, которые размещаются в папке: path_to_project\.git\hooks
  • Если вы используете msysgit, папка hooks уже содержит несколько примеров сценариев. Чтобы git мог их вызывать, удалите расширение «.sample» из имени скрипта.
  • Имена скриптов-перехватчиков соответствуют событию, которое их вызывает. В моем случае я изменил post-commit и post-merge.
  • My AssemblyInfo.cs файл находится непосредственно под путем проекта (тот же уровень, что и папка .git). Он содержит 23 строки, и я использую git для генерации 24-й.
Поскольку моя оболочка Linux немного заржавела, скрипт просто читает первые 23-е. строки AssemblyInfo.cs во временный файл, отображает хэш git до последней строки и переименовывает файл обратно в AssemblyInfo.cs. Я уверен, что есть лучшие способы сделать это:
#!/bin/sh
cmt=$(git rev-list --max-count=1 HEAD)
head -23 AssemblyInfo.cs > AssemblyInfo.cs.tmp
echo [assembly: AssemblyFileVersion\(\"$cmt\"\)] >> AssemblyInfo.cs.tmp
mv AssemblyInfo.cs.tmp AssemblyInfo.cs


Подробнее здесь: https://stackoverflow.com/questions/151 ... -a-net-dll
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Встроить хеш коммита git в dll .NET
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как я могу включить хэш коммита GIT в XCode?
    Anonymous » » в форуме IOS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Git clone [email protected]:kortina/dotfiles.git
    Anonymous » » в форуме Linux
    0 Ответы
    58 Просмотры
    Последнее сообщение Anonymous
  • Использование коммита pymysql все еще не может вставить
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Использование коммита pymysql все еще не может вставить [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»