git-tag(1)
==========
-v0.99.4, Aug 2005
NAME
----
git-tag - Create a tag object signed with GPG
-
SYNOPSIS
--------
-'git-tag' [-s | -a] [-f] <name>
+'git-tag' [-a | -s] [-f] [-m <msg>] <name> [<head>]
DESCRIPTION
-----------
SIMPLE_LIB += -lnsl
endif
ifdef NO_STRCASESTR
- DEFINES += -Dstrcasestr=gitstrcasestr
+ DEFINES += -Dstrcasestr=gitstrcasestr -DNO_STRCASESTR=1
LIB_OBJS += compat/strcasestr.o
endif
. git-sh-setup || die "Not a git archive"
usage () {
- echo >&2 "Usage: git-tag [-a | -s] [-f] [-m "tag message"] tagname"
+ echo >&2 "Usage: git-tag [-a | -s] [-f] [-m "tag message"] tagname [head]"
exit 1
}
#!/bin/sh
. git-sh-setup || die "Not a git archive"
-tag=$(git-rev-parse $1) || exit 1
+type="$(git-cat-file -t "$1" 2>/dev/null)" ||
+ die "$1: no such object."
-git-cat-file tag $tag > .tmp-vtag || exit 1
+test "$type" = tag ||
+ die "$1: cannot verify a non-tag object of type $type."
+
+git-cat-file tag "$1" > .tmp-vtag || exit 1
cat .tmp-vtag | sed '/-----BEGIN PGP/Q' | gpg --verify .tmp-vtag - || exit 1
rm -f .tmp-vtag
#include <ctype.h>
#include <iconv.h>
+#ifdef NO_STRCASESTR
+extern char *gitstrcasestr(const char *haystack, const char *needle);
+#endif
+
static FILE *cmitmsg, *patchfile;
static int keep_subject = 0;
if (!patchlen && memcmp(line, "diff ", 5))
continue;
+ /* Ignore git-diff index header */
+ if (!memcmp(line, "index ", 6))
+ continue;
+
/* Ignore line numbers when computing the SHA1 of the patch */
if (!memcmp(line, "@@ -", 4))
continue;
template_dir ?= $(prefix)/share/git-core/templates/
# DESTDIR=
-all: boilerplates custom
+all: boilerplates.made custom
find blt
# Put templates that can be copied straight from the source
# in a file direc--tory--file in the source. They will be
# just copied to the destination.
-boilerplates:
+
+bpsrc = $(filter-out %~,$(wildcard *--*))
+boilerplates.made : $(bpsrc)
ls *--* 2>/dev/null | \
while read boilerplate; \
do \
*) cp $$boilerplate blt/$$dst ;; \
esac || exit; \
done || exit
+ date >$@
# If you need build-tailored templates, build them into blt/
# directory yourself here.
: no custom templates yet
clean:
- rm -rf blt
+ rm -rf blt boilerplates.made
install: all
$(INSTALL) -d -m755 $(DESTDIR)$(template_dir)