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@xxxxxxxxxxx> --- 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@xxxxxxxx> Documentation -------------- -Documentation by David Greaves, Junio C Hamano and the git-list <git@xxxxxxxxxxxxxxx>. +Documentation by Johan Herland, David Greaves, Junio C Hamano +and the git-list <git@xxxxxxxxxxxxxxx>. GIT --- -- 1.5.2.1.144.gabc40 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html