| git-mktag(1) | |
| ============ | |
| NAME | |
| ---- | |
| git-mktag - Creates a tag object with extra validation | |
| SYNOPSIS | |
| -------- | |
| [verse] | |
| 'git mktag' | |
| DESCRIPTION | |
| ----------- | |
| Reads a tag's contents on standard input and creates a tag object. The | |
| output is the new tag's <object> identifier. | |
| This command is mostly equivalent to linkgit:git-hash-object[1] | |
| invoked with `-t tag -w --stdin`. I.e. both of these will create and | |
| write a tag found in `my-tag`: | |
| git mktag <my-tag | |
| git hash-object -t tag -w --stdin <my-tag | |
| The difference is that mktag will die before writing the tag if the | |
| tag doesn't pass a linkgit:git-fsck[1] check. | |
| The "fsck" check done by mktag is stricter than what linkgit:git-fsck[1] | |
| would run by default in that all `fsck.<msg-id>` messages are promoted | |
| from warnings to errors (so e.g. a missing "tagger" line is an error). | |
| Extra headers in the object are also an error under mktag, but ignored | |
| by linkgit:git-fsck[1]. This extra check can be turned off by setting | |
| the appropriate `fsck.<msg-id>` variable: | |
| git -c fsck.extraHeaderEntry=ignore mktag <my-tag-with-headers | |
| OPTIONS | |
| ------- | |
| --strict:: | |
| By default mktag turns on the equivalent of | |
| linkgit:git-fsck[1] `--strict` mode. Use `--no-strict` to | |
| disable it. | |
| Tag Format | |
| ---------- | |
| A tag signature file, to be fed to this command's standard input, | |
| has a very simple fixed format: four lines of | |
| object <hash> | |
| type <typename> | |
| tag <tagname> | |
| tagger <tagger> | |
| followed by some 'optional' free-form message (some tags created | |
| by older Git may not have a `tagger` line). The message, when it | |
| exists, is separated by a blank line from the header. The | |
| message part may contain a signature that Git itself doesn't | |
| care about, but that can be verified with gpg. | |
| GIT | |
| --- | |
| Part of the linkgit:git[1] suite |