]> git.ipfire.org Git - thirdparty/git.git/blob - Documentation/git-mktag.txt
Merge branch 'jx/t5411-unique-filenames'
[thirdparty/git.git] / Documentation / git-mktag.txt
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 OPTIONS
15 -------
16
17 --strict::
18 By default mktag turns on the equivalent of
19 linkgit:git-fsck[1] `--strict` mode. Use `--no-strict` to
20 disable it.
21
22 DESCRIPTION
23 -----------
24
25 Reads a tag contents on standard input and creates a tag object. The
26 output is the new tag's <object> identifier.
27
28 This command is mostly equivalent to linkgit:git-hash-object[1]
29 invoked with `-t tag -w --stdin`. I.e. both of these will create and
30 write a tag found in `my-tag`:
31
32 git mktag <my-tag
33 git hash-object -t tag -w --stdin <my-tag
34
35 The difference is that mktag will die before writing the tag if the
36 tag doesn't pass a linkgit:git-fsck[1] check.
37
38 The "fsck" check done mktag is stricter than what linkgit:git-fsck[1]
39 would run by default in that all `fsck.<msg-id>` messages are promoted
40 from warnings to errors (so e.g. a missing "tagger" line is an error).
41
42 Extra headers in the object are also an error under mktag, but ignored
43 by linkgit:git-fsck[1]. This extra check can be turned off by setting
44 the appropriate `fsck.<msg-id>` varible:
45
46 git -c fsck.extraHeaderEntry=ignore mktag <my-tag-with-headers
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 `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