| git-mktag(1) |
| ============ |
| |
| NAME |
| ---- |
| git-mktag - Creates a tag object with extra validation |
| |
| |
| SYNOPSIS |
| -------- |
| [verse] |
| 'git mktag' |
| |
| OPTIONS |
| ------- |
| |
| --strict:: |
| By default mktag turns on the equivalent of |
| linkgit:git-fsck[1] `--strict` mode. Use `--no-strict` to |
| disable it. |
| |
| DESCRIPTION |
| ----------- |
| |
| Reads a tag 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 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>` varible: |
| |
| git -c fsck.extraHeaderEntry=ignore mktag <my-tag-with-headers |
| |
| 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 `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 |