File: git-mktag.txt

package info (click to toggle)
git 1%3A2.39.5-0%2Bdeb12u3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 56,868 kB
  • sloc: ansic: 276,518; sh: 234,536; perl: 30,909; tcl: 22,191; makefile: 4,185; python: 3,412; javascript: 772; csh: 45; ruby: 43; lisp: 12
file content (66 lines) | stat: -rw-r--r-- 1,774 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
git-mktag(1)
============

NAME
----
git-mktag - Creates a tag object with extra validation


SYNOPSIS
--------
[verse]
'git mktag'

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

OPTIONS
-------

--strict::
	By default mktag turns on the equivalent of
	linkgit:git-fsck[1] `--strict` mode. Use `--no-strict` to
	disable it.

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