| 1 | git-mktag(1) |
| 2 | ============ |
| 3 | |
| 4 | NAME |
| 5 | ---- |
| 6 | git-mktag - Creates a tag object with extra validation |
| 7 | |
| 8 | |
| 9 | SYNOPSIS |
| 10 | -------- |
| 11 | [verse] |
| 12 | 'git mktag' |
| 13 | |
| 14 | DESCRIPTION |
| 15 | ----------- |
| 16 | |
| 17 | Reads a tag's contents on standard input and creates a tag object. The |
| 18 | output is the new tag's <object> identifier. |
| 19 | |
| 20 | This command is mostly equivalent to linkgit:git-hash-object[1] |
| 21 | invoked with `-t tag -w --stdin`. I.e. both of these will create and |
| 22 | write a tag found in `my-tag`: |
| 23 | |
| 24 | git mktag <my-tag |
| 25 | git hash-object -t tag -w --stdin <my-tag |
| 26 | |
| 27 | The difference is that mktag will die before writing the tag if the |
| 28 | tag doesn't pass a linkgit:git-fsck[1] check. |
| 29 | |
| 30 | The "fsck" check done by mktag is stricter than what linkgit:git-fsck[1] |
| 31 | would run by default in that all `fsck.<msg-id>` messages are promoted |
| 32 | from warnings to errors (so e.g. a missing "tagger" line is an error). |
| 33 | |
| 34 | Extra headers in the object are also an error under mktag, but ignored |
| 35 | by linkgit:git-fsck[1]. This extra check can be turned off by setting |
| 36 | the appropriate `fsck.<msg-id>` variable: |
| 37 | |
| 38 | git -c fsck.extraHeaderEntry=ignore mktag <my-tag-with-headers |
| 39 | |
| 40 | OPTIONS |
| 41 | ------- |
| 42 | |
| 43 | --strict:: |
| 44 | By default mktag turns on the equivalent of |
| 45 | linkgit:git-fsck[1] `--strict` mode. Use `--no-strict` to |
| 46 | disable it. |
| 47 | |
| 48 | Tag Format |
| 49 | ---------- |
| 50 | A tag signature file, to be fed to this command's standard input, |
| 51 | has a very simple fixed format: four lines of |
| 52 | |
| 53 | object <hash> |
| 54 | type <typename> |
| 55 | tag <tagname> |
| 56 | tagger <tagger> |
| 57 | |
| 58 | followed by some 'optional' free-form message (some tags created |
| 59 | by older Git may not have a `tagger` line). The message, when it |
| 60 | exists, is separated by a blank line from the header. The |
| 61 | message part may contain a signature that Git itself doesn't |
| 62 | care about, but that can be verified with gpg. |
| 63 | |
| 64 | GIT |
| 65 | --- |
| 66 | Part of the linkgit:git[1] suite |