Как я могу представить мерзавца, которого делают SHA1 гну?

я соединил tarball'd релизы программного обеспечения, которые включают вывод из нескольких различных проектов. Эти tarballs сами считают выпуском. Выпущенный tarball включает BOM (перечень материалов), который перечисляет все проекты в нем и их связанный SHA1 (мерзавец) подписи.

Для создания воссоздания их tarballs легче я соединил сделать систему, которая анализирует BOM, линию за линией клонирующий репозиторий в подкаталог, проверяя указанную версию, затем выполняющую сборку. Сказать, что строка в моем BOM имеет:

prog-a b5286f27d65ef20eb4508f76de5a1c57d8b21d85 git+ssh://git-user@localhost/~/prog-a

репозиторий, если бы не уже клонированный, был бы помещен в repos/prog-a, то контроль сделан ( CD repos/prog-a; контроль b5286f27d6 мерзавца) и наконец делание ( делают-C repos/prog-a).

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

, Как я могу представить SHA1 repo's мерзавца GNU, делают так, чтобы он мог решить, устарел ли проект и должен быть обновлен (путем выполнения контроль мерзавца )?

[РЕДАКТИРОВАНИЕ] Это - мой файл образца:

REPO_DIR=materials
BOM=$(shell sed -r 's/([^ ]+).+/\1/' bom)
BOM_DIR=$(shell sed -r 's_([^ ]+).+_$(REPO_DIR)/\1_' bom)
BOM_BLD=$(shell sed -r 's_([^ ]+).+_$(REPO_DIR)/\1/\1_' bom)

.PHONY: clean dist-clean

all: $(BOM)

clean:
    @rm $(BOM) $(BOM_BLD) -rf

dist-clean: clean
    @rm $(REPO_DIR)

.SECONDEXPANSION:

$(BOM): % : $(REPO_DIR)/$$*/$$*
    @echo " CP $< $@"
    @cp $< $@

$(BOM_BLD): % :  $$(*D)
    @echo " GIT CHECKOUT"
    @cd $<; git checkout -q $(shell sed -rn '/$(shell echo $@ | sed -r 's_.+/__')/ s/.+ (.+) .+ .+ .+/\1/p' bom)
    @echo " MAKE $@"
    @make -w -C $< $(@F)

$(BOM_DIR): | materials
    @echo " GIT CLONE $@"
    @cd $(REPO_DIR); git clone $(shell sed -rn '/$(shell echo $@ | sed -r 's_.+/__')/ s/.+ (.+) .+ .+/\1/p' bom)

materials:
    @echo " MKDIR $@"
    @mkdir $@
6
задан Jamie 1 September 2011 в 13:31
поделиться