summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/git-tag.txt4
-rw-r--r--Makefile2
-rwxr-xr-xgit-tag.sh2
-rwxr-xr-xgit-verify-tag.sh8
-rw-r--r--mailinfo.c4
-rw-r--r--patch-id.c4
-rw-r--r--templates/Makefile9
7 files changed, 23 insertions, 10 deletions
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index 1e0d4f5..e11f51c 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -1,16 +1,14 @@
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
-----------
diff --git a/Makefile b/Makefile
index 60763c4..747b064 100644
--- a/Makefile
+++ b/Makefile
@@ -246,7 +246,7 @@ ifdef NEEDS_NSL
SIMPLE_LIB += -lnsl
endif
ifdef NO_STRCASESTR
- DEFINES += -Dstrcasestr=gitstrcasestr
+ DEFINES += -Dstrcasestr=gitstrcasestr -DNO_STRCASESTR=1
LIB_OBJS += compat/strcasestr.o
endif
diff --git a/git-tag.sh b/git-tag.sh
index 76c1bcd..400bdb9 100755
--- a/git-tag.sh
+++ b/git-tag.sh
@@ -4,7 +4,7 @@
. 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
}
diff --git a/git-verify-tag.sh b/git-verify-tag.sh
index 156c75b..ed4c893 100755
--- a/git-verify-tag.sh
+++ b/git-verify-tag.sh
@@ -1,8 +1,12 @@
#!/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
diff --git a/mailinfo.c b/mailinfo.c
index df470bb..cb853df 100644
--- a/mailinfo.c
+++ b/mailinfo.c
@@ -9,6 +9,10 @@
#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;
diff --git a/patch-id.c b/patch-id.c
index 5a8dc75..960e7ce 100644
--- a/patch-id.c
+++ b/patch-id.c
@@ -55,6 +55,10 @@ static void generate_id_list(void)
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;
diff --git a/templates/Makefile b/templates/Makefile
index 221a086..c23aee8 100644
--- a/templates/Makefile
+++ b/templates/Makefile
@@ -6,13 +6,15 @@ prefix ?= $(HOME)
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 \
@@ -25,6 +27,7 @@ boilerplates:
*) cp $$boilerplate blt/$$dst ;; \
esac || exit; \
done || exit
+ date >$@
# If you need build-tailored templates, build them into blt/
# directory yourself here.
@@ -32,7 +35,7 @@ custom:
: no custom templates yet
clean:
- rm -rf blt
+ rm -rf blt boilerplates.made
install: all
$(INSTALL) -d -m755 $(DESTDIR)$(template_dir)