anonymous@RULINUX.NET~# Last login: 2024-11-23 02:39:12
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

git describe из C-кода

Возможно ли из C-кода получить вывод git describe для текущего же проекта. Чтобы автоматически нумеровать версии, в том числе и промежуточные.

anonymous(*) (2011-05-04 16:24:00)

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: git describe из C-кода от anonymous 2011-05-04 16:24:00
avatar
Скрыть

Re: git describe из C-кода

В калоге с локальным репозиторием должен храниться каталог .git в котором хранятся сведения о проекте восновном в текстовом виде. Попробуй оттуда брать необходимеы тебе сведения.

Tux-oid(*)(2011-05-04 17:39:21)

Mozilla/5.0 (X11; Linux i686; rv:2.0.0) Gecko/20100101 Firefox/4.0
[#] [Добавить метку] [Редактировать] Ответ на: Re: git describe из C-кода от Tux-oid 2011-05-04 17:39:21
avatar
Скрыть

Re: git describe из C-кода

Я думал, может у git-а есть какой-нибудь API для этого. Но ни одного *.h-файла не устанавливается, и -devel пакетов тоже нет.

Пробовал через Makefile:

make
VERSION = $(shell git describe)
CFLAGS += -g
CFLAGS += -DVERSION="$(VERSION)"
test: test.c
        gcc test.c $(CFLAGS) -o test
 

test.c:

c
#include
int main (void)
{
#ifdef VERSION
        printf("Version = %s\n", VERSION);
#endif
        return 0;
}
 

Так падает с SIGSEGV. А мне, собственно, и нужно просто вывести на stdout текущую версию по git-у.

anonymous(*)(2011-05-04 18:00:23)

[#] [Добавить метку] [Редактировать] Ответ на: Re: git describe из C-кода от anonymous 2011-05-04 18:00:23
avatar
Скрыть

Re: git describe из C-кода

Оказалось, что надо экранировать кавычки... Исправленный Makefile:

make
VERSION = $(shell git describe)
CFLAGS += -DVERSION=\"$(VERSION)\"
test: test.c
        gcc $(CFLAGS) test.c -o test
 

anonymous(*)(2011-05-05 13:15:56)

Этот тред читают 3 пользователя:
Анонимных: 3
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!