Autogenerated manpages for v2.47.0-rc0
[git-manpages.git] / man1 / git-mktag.1
blob700e6ef0316fdd0da8716f7823c65d644b23700e
1 '\" t
2 .\"     Title: git-mktag
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
5 .\"      Date: 2024-09-25
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.47.0.rc0
8 .\"  Language: English
9 .\"
10 .TH "GIT\-MKTAG" "1" "2024-09-25" "Git 2\&.47\&.0\&.rc0" "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 .SH "DESCRIPTION"
38 .sp
39 Reads a tag\(cqs contents on standard input and creates a tag object\&. The output is the new tag\(cqs <object> identifier\&.
40 .sp
41 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:
42 .sp
43 .if n \{\
44 .RS 4
45 .\}
46 .nf
47 git mktag <my\-tag
48 git hash\-object \-t tag \-w \-\-stdin <my\-tag
49 .fi
50 .if n \{\
51 .RE
52 .\}
53 .sp
54 The difference is that mktag will die before writing the tag if the tag doesn\(cqt pass a \fBgit-fsck\fR(1) check\&.
55 .sp
56 The "fsck" check done by 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)\&.
57 .sp
58 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 variable:
59 .sp
60 .if n \{\
61 .RS 4
62 .\}
63 .nf
64 git \-c fsck\&.extraHeaderEntry=ignore mktag <my\-tag\-with\-headers
65 .fi
66 .if n \{\
67 .RE
68 .\}
69 .SH "OPTIONS"
70 .PP
71 \-\-strict
72 .RS 4
73 By default mktag turns on the equivalent of
74 \fBgit-fsck\fR(1)
75 \fB\-\-strict\fR
76 mode\&. Use
77 \fB\-\-no\-strict\fR
78 to disable it\&.
79 .RE
80 .SH "TAG FORMAT"
81 .sp
82 A tag signature file, to be fed to this command\(cqs standard input, has a very simple fixed format: four lines of
83 .sp
84 .if n \{\
85 .RS 4
86 .\}
87 .nf
88 object <hash>
89 type <typename>
90 tag <tagname>
91 tagger <tagger>
92 .fi
93 .if n \{\
94 .RE
95 .\}
96 .sp
97 followed by some \fIoptional\fR free\-form message (some tags created by older Git may not have a \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\&.
98 .SH "GIT"
99 .sp
100 Part of the \fBgit\fR(1) suite