diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt index 1e0d4f5f46..e11f51c266 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] +'git-tag' [-a | -s] [-f] [-m ] [] DESCRIPTION ----------- diff --git a/Makefile b/Makefile index 60763c4a6e..747b06447a 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 76c1bcd8c9..400bdb9843 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 156c75bb3e..ed4c893968 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 df470bb9c2..cb853df993 100644 --- a/mailinfo.c +++ b/mailinfo.c @@ -9,6 +9,10 @@ #include #include +#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 5a8dc75d0e..960e7cedf9 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 221a086066..c23aee866d 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)