Autogenerated manpages for v2.39.1-231-ga7caae
[git-manpages.git] / man1 / git-mktag.1
blob748df233e8e155bf36ef202c11a9da02369fe972
1 '\" t
2 .\"     Title: git-mktag
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
5 .\"      Date: 01/17/2023
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.39.1.231.ga7caae2729
8 .\"  Language: English
9 .\"
10 .TH "GIT\-MKTAG" "1" "01/17/2023" "Git 2\&.39\&.1\&.231\&.ga7caae" "Git Manual"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 git-mktag \- Creates a tag object with extra validation
32 .SH "SYNOPSIS"
33 .sp
34 .nf
35 \fIgit mktag\fR
36 .fi
37 .sp
38 .SH "DESCRIPTION"
39 .sp
40 Reads a tag contents on standard input and creates a tag object\&. The output is the new tag\(cqs <object> identifier\&.
41 .sp
42 This command is mostly equivalent to \fBgit-hash-object\fR(1) invoked with \fB\-t tag \-w \-\-stdin\fR\&. I\&.e\&. both of these will create and write a tag found in \fBmy\-tag\fR:
43 .sp
44 .if n \{\
45 .RS 4
46 .\}
47 .nf
48 git mktag <my\-tag
49 git hash\-object \-t tag \-w \-\-stdin <my\-tag
50 .fi
51 .if n \{\
52 .RE
53 .\}
54 .sp
55 The difference is that mktag will die before writing the tag if the tag doesn\(cqt pass a \fBgit-fsck\fR(1) check\&.
56 .sp
57 The "fsck" check done mktag is stricter than what \fBgit-fsck\fR(1) would run by default in that all \fBfsck\&.<msg\-id>\fR messages are promoted from warnings to errors (so e\&.g\&. a missing "tagger" line is an error)\&.
58 .sp
59 Extra headers in the object are also an error under mktag, but ignored by \fBgit-fsck\fR(1)\&. This extra check can be turned off by setting the appropriate \fBfsck\&.<msg\-id>\fR varible:
60 .sp
61 .if n \{\
62 .RS 4
63 .\}
64 .nf
65 git \-c fsck\&.extraHeaderEntry=ignore mktag <my\-tag\-with\-headers
66 .fi
67 .if n \{\
68 .RE
69 .\}
70 .SH "OPTIONS"
71 .PP
72 \-\-strict
73 .RS 4
74 By default mktag turns on the equivalent of
75 \fBgit-fsck\fR(1)
76 \fB\-\-strict\fR
77 mode\&. Use
78 \fB\-\-no\-strict\fR
79 to disable it\&.
80 .RE
81 .SH "TAG FORMAT"
82 .sp
83 A tag signature file, to be fed to this command\(cqs standard input, has a very simple fixed format: four lines of
84 .sp
85 .if n \{\
86 .RS 4
87 .\}
88 .nf
89 object <hash>
90 type <typename>
91 tag <tagname>
92 tagger <tagger>
93 .fi
94 .if n \{\
95 .RE
96 .\}
97 .sp
98 followed by some \fIoptional\fR free\-form message (some tags created by older Git may not have \fBtagger\fR 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\(cqt care about, but that can be verified with gpg\&.
99 .SH "GIT"
101 Part of the \fBgit\fR(1) suite