[PATCH 3/4] Documentation/git-mktag: Document the changes in tag object structure
- From
Johan Herland <johan@herland.net>
- Date
- Jun 10, 2007, 11:50 UTC
- Message-ID
- <200706101350.27936.johan@herland.net>
- In-Reply-To
- <200706101347.57023.johan@herland.net>
The new structure of tag objects is documented.
Also some much-needed cleanup is done. E.g. remove the paragraph on the 8kB limit, since this limit was removed ages ago.
Signed-off-by: Johan Herland <johan@herland.net> --- Documentation/git-mktag.txt | 38 +++++++++++++++++++++++++++----------- 1 files changed, 27 insertions(+), 11 deletions(-)
diff --git a/Documentation/git-mktag.txt b/Documentation/git-mktag.txt index 0ac3be1..e6dfed6 100644 --- a/Documentation/git-mktag.txt +++ b/Documentation/git-mktag.txt @@ -8,29 +8,44 @@ git-mktag - Creates a tag object SYNOPSIS -------- -'git-mktag' < signature_file +[verse] +'git-mktag' < tag_data_file DESCRIPTION ----------- -Reads a tag contents on standard input and creates a tag object +Reads tag object data on standard input and creates a tag object that can also be used to sign other objects. The output is the new tag's <object> identifier. -Tag Format +DISCUSSION ---------- -A tag signature file has a very simple fixed format: three lines of +Tag object data has the following format +[verse] object <sha1> type <typename> - tag <tagname> + tag <tagname> (optional) + keywords <keywords> (optional) + tagger <committer> -followed by some 'optional' free-form signature that git itself -doesn't care about, but that can be verified with gpg or similar. +followed by a blank line and a free-form message and an optional +signature that git itself doesn't care about, but that may be +verified with gpg or similar. -The size of the full object is artificially limited to 8kB. (Just -because I'm a lazy bastard, and if you can't fit a signature in that -size, you're doing something wrong) +In the above listing, `<sha1>` represents the object pointed to +by this tag, `<typename>` is the type of the object pointed to +("tag", "blob", "tree" or "commit"), `<tagname>` is the name of +this tag object (and must correspond to the name of the corresponding +ref (if any) in `.git/refs/`). `<keywords>` is a comma-separated +list of keywords associated with this tag object, and `<committer>` +holds the "`name <email>`" of the tag creator and timestamp of when +the tag object was created (analogous to "committer" in commit +objects). + +If "`tag <tagname>`" is omitted, <tagname> defaults to the empty +string. If "`keywords <keywords>`" is omitted, <keywords> defaults +to "`tag`" if a <tagname> was given, "`note`" otherwise. Author @@ -39,7 +54,8 @@ Written by Linus Torvalds <torvalds@osdl.org> Documentation -------------- -Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>. +Documentation by Johan Herland, David Greaves, Junio C Hamano +and the git-list <git@vger.kernel.org>. GIT ---
-- 1.5.2.1.144.gabc40