{"thread":{"id":"34525","subject":"git tag usability issue: Lightweight vs Annotated confusion for the end user (ex. git describe default)","startedAt":"2013-07-24T10:17:13Z","lastAt":"2013-08-07T12:32:55Z","messageCount":23,"participants":["Daniele Segato","Junio C Hamano","Marc Branchaud","Jeff King","Jonathan Nieder","Philip Oakley","Stefan Beller"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"224033","messageId":"51EFA9A9.4010103@gmail.com","threadId":"34525","inReplyTo":null,"subject":"git tag usability issue: Lightweight vs Annotated confusion for the end user (ex. git describe default)","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-24T10:17:13Z","receivedAt":"2013-07-24T10:17:13Z","isPatch":false,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"Hi,\n\nI think there is an issue with the documentation of git tag, or with the \ndefault being chosen for tags.\n\nthe git tag documentation say:\n\n*****\n        If one of -a, -s, or -u <key-id> is passed, the command creates \na tag object, and requires a tag message. Unless -m <msg> or -F <file> \nis given, an editor is started for the user to type in the tag\n        message.\n\n        If -m <msg> or -F <file> is given and -a, -s, and -u <key-id> \nare absent, -a is implied.\n\n        Otherwise just a tag reference for the SHA1 object name of the \ncommit object is created (i.e. a lightweight tag).\n******\n\nAnd no options below is provided to list annotated tags only or \nlightweight tags only (is there a way to do so?)\n\nI initially didn't get git cared too much on this difference: I've been \nusing both annotated and lightweight tags without distinctions, \nannotated when I want to write something about the tag and non-annotated \nwhen I do not need it.\n\nSince no option is given to show annotated only tags these made sense to me.\n\n\n\nRecently I started using submodules and I noticed that:\ngit submodule status\n\nsometimes gave me the tag name of the submodule between parentesis and \nsometimes it gave me something like this:\n+6903774653de52d0206e0e6026ca6914def8a333 submodule (1.0-2-g6903774)\n\neven if the 6903774653de52d0206e0e6026ca6914def8a333 was actually a tag \n(1.1)\n\nthe git help submodule say status use git describe, so I've entered the \nsubmodule directory and tried:\n\n$ git describe\n1.0-2-g6903774\n\n$ git describe --tags\n1.1\n\nreading the git help describe I discovered the git describe made an \nassumption and default to just show annotated tags.\n\n\nTo me, this assumption should have been documented very clearly in the \ngit tag help page, something like this:\n\n*****\n        If one of -a, -s, or -u <key-id> is passed, the command creates \na tag object, and requires a tag message. Unless -m <msg> or -F <file> \nis given, an editor is started for the user to type in the tag\n        message.\n\n        If -m <msg> or -F <file> is given and -a, -s, and -u <key-id> \nare absent, -a is implied.\n\n        Otherwise just a tag reference for the SHA1 object name of the \ncommit object is created (i.e. a lightweight tag).\n\n\n        ANNOTATED vs LIGHTWEIGHT tags\n\n        Some git command (ex. git describe) by default only consider \nannotated tags. Annotated and Lightweight tags are not the same thing \nfor git and you shouldn't mix them up. Annotated tags are meant for \nrelease while lightweight tags are meant to tag random commits.\n******\n\nAnd I think an option in git tag to only show annotated tags (or only \nshow lightweight tags) is needed.\n\n\n\nFinally, now that I discovered this I can't replace the lightweights \ntags with annotated tags without a public announcement requiring all \ndevelopers to delete their local tags.\n\nI'm not aware of any discussion you did about this matter but I think \nthere's something wrong here that should be fixed.\n\nRegards,\nDaniele Segato\n"},{"id":"224059","messageId":"7vtxjj66kn.fsf@alter.siamese.dyndns.org","threadId":"34525","inReplyTo":"51EFA9A9.4010103@gmail.com","subject":"Re: git tag usability issue: Lightweight vs Annotated confusion for the end user (ex. git describe default)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-07-24T20:34:00Z","receivedAt":"2013-07-24T20:34:00Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Daniele Segato <daniele.segato@gmail.com> writes:\n\n> Annotated and Lightweight tags are not the same thing\n> for git and you shouldn't mix them up. Annotated tags are meant for\n> release while lightweight tags are meant to tag random commits.\n\nNicely explained.\n\nThis is one of those \"we who worked on Git (not worked \"with\" Git)\nfor a long time _know_ it and do not need it to be explained, and we\ndidn't spot that it is not explained in the documentation for new\npeople.\"\n\nCare to roll a documentation patch (and get a commit count for\nyourself ;-)?\n\nThanks.\n"},{"id":"224076","messageId":"51F12BE6.80606@gmail.com","threadId":"34525","inReplyTo":"7vtxjj66kn.fsf@alter.siamese.dyndns.org","subject":"[PATCH] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-25T13:45:10Z","receivedAt":"2013-07-25T13:45:10Z","isPatch":true,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":" From d0f4eca712e7cf74286bfab306763a8a571b6c95 Mon Sep 17 00:00:00 2001\nFrom: Daniele Segato <daniele.segato@gmail.com>\nDate: Thu, 25 Jul 2013 15:33:18 +0200\nSubject: [PATCH] git-tag man: when to use lightweight or annotated tags\n\nstress the difference between the two with suggestion on when the user\nshould use one in place of the other.\n\nSigned-off-by: Daniele Segato <daniele.segato@gmail.com>\n---\n  Documentation/git-tag.txt |    4 ++++\n  1 file changed, 4 insertions(+)\n\ndiff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\nindex 22894cb..48f5504 100644\n--- a/Documentation/git-tag.txt\n+++ b/Documentation/git-tag.txt\n@@ -36,6 +36,10 @@ are absent, `-a` is implied.\n  Otherwise just a tag reference for the SHA-1 object name of the commit \nobject is\n  created (i.e. a lightweight tag).\n\n+Annotated and Lightweight tags are not the same thing for git and you \nshouldn't\n+mix them up. Annotated tags are meant for release while lightweight \ntags are\n+meant to tag random commits.\n+\n  A GnuPG signed tag object will be created when `-s` or `-u\n  <key-id>` is used.  When `-u <key-id>` is not used, the\n  committer identity for the current user is used to find the\n-- \n1.7.10.4\n"},{"id":"224077","messageId":"51F12C92.6060200@gmail.com","threadId":"34525","inReplyTo":"7vtxjj66kn.fsf@alter.siamese.dyndns.org","subject":"Re: git tag usability issue: Lightweight vs Annotated confusion for the end user (ex. git describe default)","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-25T13:48:02Z","receivedAt":"2013-07-25T13:48:02Z","isPatch":false,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"On 07/24/2013 10:34 PM, Junio C Hamano wrote:\n> Daniele Segato <daniele.segato@gmail.com> writes:\n>\n>> Annotated and Lightweight tags are not the same thing\n>> for git and you shouldn't mix them up. Annotated tags are meant for\n>> release while lightweight tags are meant to tag random commits.\n>\n> Nicely explained.\n>\n> This is one of those \"we who worked on Git (not worked \"with\" Git)\n> for a long time _know_ it and do not need it to be explained, and we\n> didn't spot that it is not explained in the documentation for new\n> people.\"\n\nGood!\n\nAny change in adding an option to filter tags list by annotated only?\n\n\n>\n> Care to roll a documentation patch (and get a commit count for\n> yourself ;-)?\n\nI tried, just sent the patch, hopefully I managed to follow the guide I \nfound here: \nhttp://repo.or.cz/w/git.git?a=blob;f=Documentation/SubmittingPatches;hb=HEAD\n\nAs you suggested I removed the \"title\" line and the reference to git \ndescribe default.\n\nIf I did something wrong please explain me what and I'll fix it\n\n>\n> Thanks.\n\nYou're Welcome :-)\n\nCheers,\nDaniele Segato\n"},{"id":"224079","messageId":"51F13A8F.9040400@xiplink.com","threadId":"34525","inReplyTo":"51F12BE6.80606@gmail.com","subject":"Re: [PATCH] git-tag man: when to use lightweight or annotated tags","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2013-07-25T14:47:43Z","receivedAt":"2013-07-25T14:47:43Z","isPatch":true,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"On 13-07-25 09:45 AM, Daniele Segato wrote:\n> From d0f4eca712e7cf74286bfab306763a8a571b6c95 Mon Sep 17 00:00:00 2001\n> From: Daniele Segato <daniele.segato@gmail.com>\n> Date: Thu, 25 Jul 2013 15:33:18 +0200\n> Subject: [PATCH] git-tag man: when to use lightweight or annotated tags\n> \n> stress the difference between the two with suggestion on when the user\n> should use one in place of the other.\n> \n> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n> ---\n>  Documentation/git-tag.txt |    4 ++++\n>  1 file changed, 4 insertions(+)\n> \n> diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\n> index 22894cb..48f5504 100644\n> --- a/Documentation/git-tag.txt\n> +++ b/Documentation/git-tag.txt\n> @@ -36,6 +36,10 @@ are absent, `-a` is implied.\n>  Otherwise just a tag reference for the SHA-1 object name of the commit\n> object is\n>  created (i.e. a lightweight tag).\n> \n> +Annotated and Lightweight tags are not the same thing for git and you shouldn't\n> +mix them up. Annotated tags are meant for release while lightweight tags are\n> +meant to tag random commits.\n\nUnfortunately the word \"annotated\" hasn't yet been introduced at this point,\nso the overall effect is even more confusing.  Also, I find the \"release\" vs.\n\"random\" distinction a bit misleading since both types of tag can refer to\nany object.  I also liked the direction of your earlier \"command only\nconsider annotated tags by default\" phrasing.\n\nAfter reading the Tagging section of the Git Book[1] I came up with the\nfollowing.  Feel free to modify it as you like, or ignore it completely:\n\nTag objects (created with -a) are called annotated tags.  While a lightweight\ntag is simply a name for an object (usually a commit object), an annotated\ntag contains the creation date, the tagger's name and e-mail, a tagging\nmessage, and can be signed and verified with GNU Privacy Guard (GnuPG).  Most\ngit commands only consider annotated tags by default.  In general lightweight\ntags are for private or temporary object labels, while annotated tags are\nmeant to be permanent and/or published.  For example, an annotated tag is\nnormally used to identify a release point.\n\n\t\tM.\n\n[1] http://git-scm.com/book/en/Git-Basics-Tagging\n"},{"id":"224114","messageId":"51F23706.5040009@gmail.com","threadId":"34525","inReplyTo":"51F13A8F.9040400@xiplink.com","subject":"Re: [PATCH] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-26T08:44:54Z","receivedAt":"2013-07-26T08:44:54Z","isPatch":true,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"On 07/25/2013 04:47 PM, Marc Branchaud wrote:\n> On 13-07-25 09:45 AM, Daniele Segato wrote:\n>>  From d0f4eca712e7cf74286bfab306763a8a571b6c95 Mon Sep 17 00:00:00 2001\n>> From: Daniele Segato <daniele.segato@gmail.com>\n>> Date: Thu, 25 Jul 2013 15:33:18 +0200\n>> Subject: [PATCH] git-tag man: when to use lightweight or annotated tags\n>>\n>> stress the difference between the two with suggestion on when the user\n>> should use one in place of the other.\n>>\n>> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n>> ---\n>>   Documentation/git-tag.txt |    4 ++++\n>>   1 file changed, 4 insertions(+)\n>>\n>> diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\n>> index 22894cb..48f5504 100644\n>> --- a/Documentation/git-tag.txt\n>> +++ b/Documentation/git-tag.txt\n>> @@ -36,6 +36,10 @@ are absent, `-a` is implied.\n>>   Otherwise just a tag reference for the SHA-1 object name of the commit\n>> object is\n>>   created (i.e. a lightweight tag).\n>>\n>> +Annotated and Lightweight tags are not the same thing for git and you shouldn't\n>> +mix them up. Annotated tags are meant for release while lightweight tags are\n>> +meant to tag random commits.\n>\n> Unfortunately the word \"annotated\" hasn't yet been introduced at this point,\n> so the overall effect is even more confusing.\n\nActually annotated tag has already be introduced but they haven't been \nnamed \"Annotated\" yet; what about changing the above paragraph like this:\n\n  If one of `-a`, `-s`, or `-u <key-id>` is passed, the command\n-creates a 'tag' object, and requires a tag message.  Unless\n+creates a 'tag' object called 'Annotated tag', and requires a tag \nmessage. Unless\n  `-m <msg>` or `-F <file>` is given, an editor is started for the user \nto type\n  in the tag message.\n\n\n\n\n> Also, I find the \"release\" vs.\n> \"random\" distinction a bit misleading since both types of tag can refer to\n> any object.\n\nI can change it into something like these (using your suggestion below):\n\"Annotated tags are meant for release while lightweight tags are meant \nfor private or temporary object labels.\"\n\nWhat do you think?\n\n>  I also liked the direction of your earlier \"command only\n> consider annotated tags by default\" phrasing.\n\nI also think it would be helpful. We can write this after the previous \nsentence:\n\"Most git commands only consider Annotated tags by default.\"\n\n\n\n> After reading the Tagging section of the Git Book[1] I came up with the\n> following.  Feel free to modify it as you like, or ignore it completely:\n>\n> Tag objects (created with -a) are called annotated tags.  While a lightweight\n> tag is simply a name for an object (usually a commit object), an annotated\n> tag contains the creation date, the tagger's name and e-mail, a tagging\n> message, and can be signed and verified with GNU Privacy Guard (GnuPG).  Most\n> git commands only consider annotated tags by default.  In general lightweight\n> tags are for private or temporary object labels, while annotated tags are\n> meant to be permanent and/or published.  For example, an annotated tag is\n> normally used to identify a release point.\n>\n> \t\tM.\n>\n> [1] http://git-scm.com/book/en/Git-Basics-Tagging\n>\n\nI took some inspiration but I think writing about what a tag object \ncontains in the documentation is not useful at that point in the doc. \nWhat's important there is that user do understand the difference between \nAnnotated and Lightweight tags.\n\nI'll follow with a patch containing these modification I'm talking \nabout, should be easier to comment.\n\nRegards,\nDaniele\n"},{"id":"224115","messageId":"51F2375E.1080003@gmail.com","threadId":"34525","inReplyTo":"51F23706.5040009@gmail.com","subject":"Re: [PATCH] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-26T08:46:22Z","receivedAt":"2013-07-26T08:46:22Z","isPatch":true,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":" From 34fdcb56e5784699ffa327ebfcd2c5cd99b61d2d Mon Sep 17 00:00:00 2001\nFrom: Daniele Segato <daniele.segato@gmail.com>\nDate: Thu, 25 Jul 2013 15:33:18 +0200\nSubject: [PATCH] git-tag man: when to use lightweight or annotated tags\n\nstress the difference between the two with suggestion on when the user\nshould use one in place of the other.\n\nSigned-off-by: Daniele Segato <daniele.segato@gmail.com>\n---\n  Documentation/git-tag.txt |    7 ++++++-\n  1 file changed, 6 insertions(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\nindex 22894cb..5c6284e 100644\n--- a/Documentation/git-tag.txt\n+++ b/Documentation/git-tag.txt\n@@ -26,7 +26,7 @@ to delete, list or verify tags.\n  Unless `-f` is given, the named tag must not yet exist.\n\n  If one of `-a`, `-s`, or `-u <key-id>` is passed, the command\n-creates a 'tag' object, and requires a tag message.  Unless\n+creates a 'tag' object called 'Annotated tag', and requires a tag \nmessage. Unless\n  `-m <msg>` or `-F <file>` is given, an editor is started for the user \nto type\n  in the tag message.\n\n@@ -36,6 +36,11 @@ are absent, `-a` is implied.\n  Otherwise just a tag reference for the SHA-1 object name of the commit \nobject is\n  created (i.e. a lightweight tag).\n\n+'Annotated' and 'Lightweight' tags are not the same thing for git and \nyou shouldn't\n+mix them up. Annotated tags are meant for release while lightweight \ntags are\n+meant for private or temporary object labels. Most git commands only \nconsider\n+Annotated tags by default.\n+\n  A GnuPG signed tag object will be created when `-s` or `-u\n  <key-id>` is used.  When `-u <key-id>` is not used, the\n  committer identity for the current user is used to find the\n-- \n1.7.10.4\n"},{"id":"224128","messageId":"51F28D08.8050507@xiplink.com","threadId":"34525","inReplyTo":"51F2375E.1080003@gmail.com","subject":"Re: [PATCH] git-tag man: when to use lightweight or annotated tags","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2013-07-26T14:51:52Z","receivedAt":"2013-07-26T14:51:52Z","isPatch":true,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"On 13-07-26 04:46 AM, Daniele Segato wrote:\n> From 34fdcb56e5784699ffa327ebfcd2c5cd99b61d2d Mon Sep 17 00:00:00 2001\n> From: Daniele Segato <daniele.segato@gmail.com>\n> Date: Thu, 25 Jul 2013 15:33:18 +0200\n> Subject: [PATCH] git-tag man: when to use lightweight or annotated tags\n\nWhen sending a patch to the list it's not necessary to include these headers,\nas the git tools will extract them from the email itself.\n\nAlso, when sending a revision to a previously posted patch it's customary to\ninclude a revision number, e.g. \"[PATCHv2]\".\n\n> stress the difference between the two with suggestion on when the user\n> should use one in place of the other.\n> \n> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n> ---\n>  Documentation/git-tag.txt |    7 ++++++-\n>  1 file changed, 6 insertions(+), 1 deletion(-)\n> \n> diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\n> index 22894cb..5c6284e 100644\n> --- a/Documentation/git-tag.txt\n> +++ b/Documentation/git-tag.txt\n> @@ -26,7 +26,7 @@ to delete, list or verify tags.\n>  Unless `-f` is given, the named tag must not yet exist.\n> \n>  If one of `-a`, `-s`, or `-u <key-id>` is passed, the command\n> -creates a 'tag' object, and requires a tag message.  Unless\n> +creates a 'tag' object called 'Annotated tag', and requires a tag message.\n\n1) Don't capitalize \"annotated\" -- it's not capitalized anywhere else in the\ntext.  The same goes for \"lightweight\".\n\n2) I find the phrasing here awkward.  The important thing to convey is that\n\"annotated tag\" is a synonym for \"tag object\".  The proposed text implies\nthat there can be other kinds of tag objects that are not annotated tags, but\nI don't think that's true.  I've mulled over different ways of introducing\nthe \"annotated tag\" term here, but I can't come up with a succinct way to do\nit.  I think it's better to just introduce the term later.\n\n> Unless\n>  `-m <msg>` or `-F <file>` is given, an editor is started for the user to type\n>  in the tag message.\n> \n> @@ -36,6 +36,11 @@ are absent, `-a` is implied.\n>  Otherwise just a tag reference for the SHA-1 object name of the commit\n> object is\n>  created (i.e. a lightweight tag).\n> \n> +'Annotated' and 'Lightweight' tags are not the same thing for git and you\n> shouldn't\n> +mix them up. Annotated tags are meant for release while lightweight tags are\n> +meant for private or temporary object labels. Most git commands only consider\n> +Annotated tags by default.\n> +\n\nI'm sorry, but I feel this misses the mark.\n\nIt's redundant to say the tag types are not the same thing, since the fact\nthat they have different names already implies that.  Also, to me the\nadmonition \"you shouldn't mix them up\" is just a scary warning that conveys\nno helpful information.\n\nFurthermore, I think simply stating that the tag types are meant for\nparticular uses without explaining why is too glib.  Although it may be\nnatural in your circumstances to think of the tag types rigidly, I do not\nthink that's true for all git users and I don't think the documentation\nshould assume there's a One True Way to use tags.\n\nThe text should give readers enough information to decide for themselves how\nthey want to use the different types of tags.  That's why I included the\nannotated tag's contents in my suggestion, so that readers could figure out\nwhich tag type best meets their needs.\n\nWhat you've proposed is a step in the right direction, but I think you need\nto go further.\n\n\t\tM.\n"},{"id":"224131","messageId":"51F2AFBA.4020602@gmail.com","threadId":"34525","inReplyTo":"51F28D08.8050507@xiplink.com","subject":"Re: [PATCH] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-26T17:19:54Z","receivedAt":"2013-07-26T17:19:54Z","isPatch":true,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"On 07/26/2013 04:51 PM, Marc Branchaud wrote:\n> On 13-07-26 04:46 AM, Daniele Segato wrote:\n>>  From 34fdcb56e5784699ffa327ebfcd2c5cd99b61d2d Mon Sep 17 00:00:00 2001\n>> From: Daniele Segato <daniele.segato@gmail.com>\n>> Date: Thu, 25 Jul 2013 15:33:18 +0200\n>> Subject: [PATCH] git-tag man: when to use lightweight or annotated tags\n>\n> When sending a patch to the list it's not necessary to include these headers,\n> as the git tools will extract them from the email itself.\n>\n> Also, when sending a revision to a previously posted patch it's customary to\n> include a revision number, e.g. \"[PATCHv2]\".\n\nThanks, I'll try to do the right thing with the next patch.\n\nBy the way which is your role in the community?\nDon't want to be rude, I just don't know who I'm talking about :) the \ndocumentation maintainer?\n\nThanks for the help anyway.\n\n>> diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\n>> index 22894cb..5c6284e 100644\n>> --- a/Documentation/git-tag.txt\n>> +++ b/Documentation/git-tag.txt\n>> @@ -26,7 +26,7 @@ to delete, list or verify tags.\n>>   Unless `-f` is given, the named tag must not yet exist.\n>>\n>>   If one of `-a`, `-s`, or `-u <key-id>` is passed, the command\n>> -creates a 'tag' object, and requires a tag message.  Unless\n>> +creates a 'tag' object called 'Annotated tag', and requires a tag message.\n>\n> 1) Don't capitalize \"annotated\" -- it's not capitalized anywhere else in the\n> text.  The same goes for \"lightweight\".\n\nOk\n\n>\n> 2) I find the phrasing here awkward.  The important thing to convey is that\n> \"annotated tag\" is a synonym for \"tag object\".  The proposed text implies\n> that there can be other kinds of tag objects that are not annotated tags, but\n> I don't think that's true.  I've mulled over different ways of introducing\n> the \"annotated tag\" term here, but I can't come up with a succinct way to do\n> it.  I think it's better to just introduce the term later.\n>\n\nOk, English is not my native language so no surprise it sound awkward ;)\n\nI'll follow your suggestion here and move everything later.\n\n\n>> Unless\n>>   `-m <msg>` or `-F <file>` is given, an editor is started for the user to type\n>>   in the tag message.\n>>\n>> @@ -36,6 +36,11 @@ are absent, `-a` is implied.\n>>   Otherwise just a tag reference for the SHA-1 object name of the commit\n>> object is\n>>   created (i.e. a lightweight tag).\n>>\n>> +'Annotated' and 'Lightweight' tags are not the same thing for git and you\n>> shouldn't\n>> +mix them up. Annotated tags are meant for release while lightweight tags are\n>> +meant for private or temporary object labels. Most git commands only consider\n>> +Annotated tags by default.\n>> +\n>\n> I'm sorry, but I feel this misses the mark.\n>\n> It's redundant to say the tag types are not the same thing, since the fact\n> that they have different names already implies that.  Also, to me the\n> admonition \"you shouldn't mix them up\" is just a scary warning that conveys\n> no helpful information.\n>\n> Furthermore, I think simply stating that the tag types are meant for\n> particular uses without explaining why is too glib.  Although it may be\n> natural in your circumstances to think of the tag types rigidly, I do not\n> think that's true for all git users and I don't think the documentation\n> should assume there's a One True Way to use tags.\n>\n> The text should give readers enough information to decide for themselves how\n> they want to use the different types of tags.  That's why I included the\n> annotated tag's contents in my suggestion, so that readers could figure out\n> which tag type best meets their needs.\n>\n> What you've proposed is a step in the right direction, but I think you need\n> to go further.\n>\n> \t\tM.\n>\n\nI tried to take into account everything you said to me and rewrite the \npatch, following this message.\n\nRegards,\nDaniele\n"},{"id":"224132","messageId":"51F2B2CD.1030004@gmail.com","threadId":"34525","inReplyTo":"51F2AFBA.4020602@gmail.com","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-26T17:33:01Z","receivedAt":"2013-07-26T17:33:01Z","isPatch":false,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"stress the difference between the two with suggestion on when the user\nshould use one in place of the other.\n\nSigned-off-by: Daniele Segato <daniele.segato@gmail.com>\n---\n  Documentation/git-tag.txt |    9 +++++++++\n  1 file changed, 9 insertions(+)\n\ndiff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\nindex 22894cb..495eb71 100644\n--- a/Documentation/git-tag.txt\n+++ b/Documentation/git-tag.txt\n@@ -42,6 +42,15 @@ committer identity for the current user is used to \nfind the\n  GnuPG key for signing. \tThe configuration variable `gpg.program`\n  is used to specify custom GnuPG binary.\n\n+The tag objects (created with `-a`, `s`, or `-u`) are called \n'annotated' tags,\n+they contains a creation date, the tagger name and e-mail, a tagging \nmessage\n+and, eventually, the GNUPG signing and verification data. While a\n+'lightweight' tag is simply a name for an object (usually a commit object).\n+\n+'Annotated' tag are meant for release while 'lightweight' tags are meant\n+for private or temporary object labels, thus most git commands ignore\n+lightweight tags by default.\n+\n\n  OPTIONS\n  -------\n-- \n1.7.10.4\n"},{"id":"224137","messageId":"20130726190602.GC29799@sigill.intra.peff.net","threadId":"34525","inReplyTo":"51F2B2CD.1030004@gmail.com","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2013-07-26T19:06:02Z","receivedAt":"2013-07-26T19:06:02Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jul 26, 2013 at 07:33:01PM +0200, Daniele Segato wrote:\n\n> stress the difference between the two with suggestion on when the user\n> should use one in place of the other.\n> \n> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n\nThe intent of your patch seems reasonable to me. There are a few minor\nlanguage and typographical mistakes, and the patch itself is\nwhitespace-damaged.\n\nI also do not know that it is accurate to say \"most git commands ignore\nlightweight tags\". It is really only \"naming\" ones like \"git describe\".\n\nHere is a re-send of your patch with the fixups I would recommend.\n\n-- >8 --\nFrom: Daniele Segato <daniele.segato@gmail.com>\nSubject: [PATCH] docs/git-tag: explain lightweight versus annotated tags\n\nStress the difference between the two with a suggestion on\nwhen the user should use one in place of the other.\n\nSigned-off-by: Daniele Segato <daniele.segato@gmail.com>\nSigned-off-by: Jeff King <peff@peff.net>\n---\n Documentation/git-tag.txt | 11 +++++++++++\n 1 file changed, 11 insertions(+)\n\ndiff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\nindex 22894cb..c418c44 100644\n--- a/Documentation/git-tag.txt\n+++ b/Documentation/git-tag.txt\n@@ -42,6 +42,17 @@ is used to specify custom GnuPG binary.\n GnuPG key for signing. \tThe configuration variable `gpg.program`\n is used to specify custom GnuPG binary.\n \n+Tag objects (created with `-a`, `s`, or `-u`) are called \"annotated\"\n+tags; they contain a creation date, the tagger name and e-mail, a\n+tagging message, and an optional GnuPG signature. Whereas a\n+\"lightweight\" tag is simply a name for an object (usually a commit\n+object).\n+\n+Annotated tags are meant for release while lightweight tags are meant\n+for private or temporary object labels. For this reason, some git\n+commands for naming objects (like `git describe`) will ignore\n+lightweight tags by default.\n+\n \n OPTIONS\n -------\n-- \n1.8.3.rc1.30.gff0fb75\n"},{"id":"224140","messageId":"20130726193643.GH14690@google.com","threadId":"34525","inReplyTo":"20130726190602.GC29799@sigill.intra.peff.net","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-07-26T19:36:43Z","receivedAt":"2013-07-26T19:36:43Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Jeff King wrote:\n\n> --- a/Documentation/git-tag.txt\n> +++ b/Documentation/git-tag.txt\n> @@ -42,6 +42,17 @@ is used to specify custom GnuPG binary.\n>  GnuPG key for signing. \tThe configuration variable `gpg.program`\n>  is used to specify custom GnuPG binary.\n>  \n> +Tag objects (created with `-a`, `s`, or `-u`) are called \"annotated\"\n> +tags; they contain a creation date, the tagger name and e-mail, a\n> +tagging message, and an optional GnuPG signature. Whereas a\n> +\"lightweight\" tag is simply a name for an object (usually a commit\n> +object).\n> +\n> +Annotated tags are meant for release while lightweight tags are meant\n> +for private or temporary object labels. For this reason, some git\n> +commands for naming objects (like `git describe`) will ignore\n> +lightweight tags by default.\n\nVery readable, and I think this is a good start.\n\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\nEventually the description section should probably be tweaked to start\nby explaining what the command is actually for. ;-)\n"},{"id":"224143","messageId":"51F2E673.5020401@xiplink.com","threadId":"34525","inReplyTo":"51F2AFBA.4020602@gmail.com","subject":"Re: [PATCH] git-tag man: when to use lightweight or annotated tags","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2013-07-26T21:13:23Z","receivedAt":"2013-07-26T21:13:23Z","isPatch":true,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"On 13-07-26 01:19 PM, Daniele Segato wrote:\n> \n> By the way which is your role in the community?\n> Don't want to be rude, I just don't know who I'm talking about :) the\n> documentation maintainer?\n\nI'm just a git user and (very) occasional contributor.\n\nThere's not much structure to the git community.  Anyone who wants git to\nchange can post a patch (or patch series) to this list.  The patch can touch\nany area of the code, and it's considered good manners to CC whoever last\ntouched the part(s) of the code being patched.\n\nThe patch is discussed and revised as needed, and eventually the patch\nthread's participants arrive at a consensus as to whether or not the patch\nshould become a part of git.  If the patch is accepted the git maintainer\n(Junio C. Hamano) shepherds the patch through git's release process.  See\nthis note:\n\thttp://git-blame.blogspot.ca/p/a-note-from-maintainer.html\nfor more about that and other aspects of the git development community.\n\n\t\tM.\n"},{"id":"224144","messageId":"51F2E676.6080404@xiplink.com","threadId":"34525","inReplyTo":"20130726190602.GC29799@sigill.intra.peff.net","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2013-07-26T21:13:26Z","receivedAt":"2013-07-26T21:13:26Z","isPatch":false,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"On 13-07-26 03:06 PM, Jeff King wrote:\n> On Fri, Jul 26, 2013 at 07:33:01PM +0200, Daniele Segato wrote:\n> \n>> stress the difference between the two with suggestion on when the user\n>> should use one in place of the other.\n>>\n>> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n> \n> The intent of your patch seems reasonable to me. There are a few minor\n> language and typographical mistakes, and the patch itself is\n> whitespace-damaged.\n> \n> I also do not know that it is accurate to say \"most git commands ignore\n> lightweight tags\". It is really only \"naming\" ones like \"git describe\".\n> \n> Here is a re-send of your patch with the fixups I would recommend.\n\nI'm happy with Peff's version.\n\nReviewed-by: Marc Branchaud <marcnarc@xiplink.com>\n\n(Daniele, don't feel put off because Jonathan & I are accepting Peff's text.\n If you think it still needs improving please speak up!)\n\n\t\tM.\n\n> -- >8 --\n> From: Daniele Segato <daniele.segato@gmail.com>\n> Subject: [PATCH] docs/git-tag: explain lightweight versus annotated tags\n> \n> Stress the difference between the two with a suggestion on\n> when the user should use one in place of the other.\n> \n> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n> Signed-off-by: Jeff King <peff@peff.net>\n> ---\n>  Documentation/git-tag.txt | 11 +++++++++++\n>  1 file changed, 11 insertions(+)\n> \n> diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\n> index 22894cb..c418c44 100644\n> --- a/Documentation/git-tag.txt\n> +++ b/Documentation/git-tag.txt\n> @@ -42,6 +42,17 @@ is used to specify custom GnuPG binary.\n>  GnuPG key for signing. \tThe configuration variable `gpg.program`\n>  is used to specify custom GnuPG binary.\n>  \n> +Tag objects (created with `-a`, `s`, or `-u`) are called \"annotated\"\n> +tags; they contain a creation date, the tagger name and e-mail, a\n> +tagging message, and an optional GnuPG signature. Whereas a\n> +\"lightweight\" tag is simply a name for an object (usually a commit\n> +object).\n> +\n> +Annotated tags are meant for release while lightweight tags are meant\n> +for private or temporary object labels. For this reason, some git\n> +commands for naming objects (like `git describe`) will ignore\n> +lightweight tags by default.\n> +\n>  \n>  OPTIONS\n>  -------\n> \n"},{"id":"224173","messageId":"51F3A358.5000807@gmail.com","threadId":"34525","inReplyTo":"20130726190602.GC29799@sigill.intra.peff.net","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-27T10:39:20Z","receivedAt":"2013-07-27T10:39:20Z","isPatch":false,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"On 07/26/2013 09:06 PM, Jeff King wrote:\n> On Fri, Jul 26, 2013 at 07:33:01PM +0200, Daniele Segato wrote:\n>\n>> stress the difference between the two with suggestion on when the user\n>> should use one in place of the other.\n>>\n>> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n>\n> The intent of your patch seems reasonable to me. There are a few minor\n> language and typographical mistakes, and the patch itself is\n> whitespace-damaged.\n\nHi Jeff,\n\nthanks for the feedback, very appreciated.\n\nBut I don't understand what's wrong with the whitespaces.\n\nCan you explain to me what's wrong and how I can avoid the issue?\n\nI use thunderbird in text mode to send emails, should I use something \nelse? what?\n\n>\n> I also do not know that it is accurate to say \"most git commands ignore\n> lightweight tags\". It is really only \"naming\" ones like \"git describe\".\n>\n> Here is a re-send of your patch with the fixups I would recommend.\n>\n\nThanks, it's obviously better.\n\nI'll send this new version as soon as you or someone else explain me how \nto fix the whitespace damage.\n\n> -- >8 --\n> From: Daniele Segato <daniele.segato@gmail.com>\n> Subject: [PATCH] docs/git-tag: explain lightweight versus annotated tags\n>\n> Stress the difference between the two with a suggestion on\n> when the user should use one in place of the other.\n>\n> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n> Signed-off-by: Jeff King <peff@peff.net>\n> ---\n>   Documentation/git-tag.txt | 11 +++++++++++\n>   1 file changed, 11 insertions(+)\n>\n> diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\n> index 22894cb..c418c44 100644\n> --- a/Documentation/git-tag.txt\n> +++ b/Documentation/git-tag.txt\n> @@ -42,6 +42,17 @@ is used to specify custom GnuPG binary.\n>   GnuPG key for signing. \tThe configuration variable `gpg.program`\n>   is used to specify custom GnuPG binary.\n>\n> +Tag objects (created with `-a`, `s`, or `-u`) are called \"annotated\"\n> +tags; they contain a creation date, the tagger name and e-mail, a\n> +tagging message, and an optional GnuPG signature. Whereas a\n> +\"lightweight\" tag is simply a name for an object (usually a commit\n> +object).\n> +\n> +Annotated tags are meant for release while lightweight tags are meant\n> +for private or temporary object labels. For this reason, some git\n> +commands for naming objects (like `git describe`) will ignore\n> +lightweight tags by default.\n> +\n>\n>   OPTIONS\n>   -------\n>\n"},{"id":"224175","messageId":"720060083F5C476A905C09146E7CD711@PhilipOakley","threadId":"34525","inReplyTo":"51F3A358.5000807@gmail.com","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Philip Oakley","fromEmail":"philipoakley@iee.org","sentAt":"2013-07-27T11:26:26Z","receivedAt":"2013-07-27T11:26:26Z","isPatch":false,"sender":{"key":"philipoakley@iee.email","avatar":"https://avatars.githubusercontent.com/u/914343?v=4"},"body":"From: \"Daniele Segato\" <daniele.segato@gmail.com>\n> On 07/26/2013 09:06 PM, Jeff King wrote:\n>> On Fri, Jul 26, 2013 at 07:33:01PM +0200, Daniele Segato wrote:\n>>\n>>> stress the difference between the two with suggestion on when the \n>>> user\n>>> should use one in place of the other.\n>>>\n>>> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n>>\n>> The intent of your patch seems reasonable to me. There are a few \n>> minor\n>> language and typographical mistakes, and the patch itself is\n>> whitespace-damaged.\n>\n> Hi Jeff,\n>\n> thanks for the feedback, very appreciated.\n>\n> But I don't understand what's wrong with the whitespaces.\n>\n> Can you explain to me what's wrong and how I can avoid the issue?\n>\n> I use thunderbird in text mode to send emails, should I use something \n> else? what?\n\nTry 'git format-patch' and 'git send-email'. The format-patch man page \neven has a note about Thunderbird corruptions.\n\nPhilip\n\n>\n>>\n>> I also do not know that it is accurate to say \"most git commands \n>> ignore\n>> lightweight tags\". It is really only \"naming\" ones like \"git \n>> describe\".\n>>\n>> Here is a re-send of your patch with the fixups I would recommend.\n>>\n>\n> Thanks, it's obviously better.\n>\n> I'll send this new version as soon as you or someone else explain me \n> how to fix the whitespace damage.\n>\n[snip] \n"},{"id":"224176","messageId":"51F3B2D1.2040402@googlemail.com","threadId":"34525","inReplyTo":"720060083F5C476A905C09146E7CD711@PhilipOakley","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Stefan Beller","fromEmail":"stefanbeller@googlemail.com","sentAt":"2013-07-27T11:45:21Z","receivedAt":"2013-07-27T11:45:21Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On 07/27/2013 01:26 PM, Philip Oakley wrote:\n\n> Try 'git format-patch' and 'git send-email'. The format-patch man page\n> even has a note about Thunderbird corruptions.\n> \n> Philip\n> \n\nWell I use Thunderbird as well for regular communication except for\nsending patches. \nThe kernel documentation has also some words about Thunderbird\nhttps://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/email-clients.txt\n\nGiven so many steps, I also configured git send-email, which makes\nsure that patches are uncorrupted. \nFor gmail add these lines to your ~/.gitconfig\n\n[sendemail]\n        from = Your Name <emailaddress@gmail.com>\n        smtpserver = /usr/bin/msmtp\n        smtpuser = emailaddress\n        smtpencryption = tls\n        chainreplyto = false\n        confirm = auto\n\nThen you'd need to have msmtp installed and have the following\nin the file ~/.msmtprc\n\n# Example for a user configuration file\n# Set default values for all following accounts.\ndefaults\ntls on\ntls_trust_file /usr/share/ncat/ca-bundle.crt\nlogfile ~/.msmtp.log\n# My email service\naccount gmail\nhost smtp.gmail.com\nport 587\nfrom emailaddress@gmail.com\nauth on\nuser emailaddress@gmail.com\npassword mysecret\naccount default : gmail\n\n\nI think it would also work without having git relying on msmtp by now,\nbut I'd be too lazy to change my existing working setup.\n\nStefan\n\n"},{"id":"224221","messageId":"7v4nbd2ys2.fsf@alter.siamese.dyndns.org","threadId":"34525","inReplyTo":"51F2E676.6080404@xiplink.com","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-07-29T15:04:13Z","receivedAt":"2013-07-29T15:04:13Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Marc Branchaud <marcnarc@xiplink.com> writes:\n\n> On 13-07-26 03:06 PM, Jeff King wrote:\n>> On Fri, Jul 26, 2013 at 07:33:01PM +0200, Daniele Segato wrote:\n>> \n>>> stress the difference between the two with suggestion on when the user\n>>> should use one in place of the other.\n>>>\n>>> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n>> \n>> The intent of your patch seems reasonable to me. There are a few minor\n>> language and typographical mistakes, and the patch itself is\n>> whitespace-damaged.\n>> \n>> I also do not know that it is accurate to say \"most git commands ignore\n>> lightweight tags\". It is really only \"naming\" ones like \"git describe\".\n>> \n>> Here is a re-send of your patch with the fixups I would recommend.\n>\n> I'm happy with Peff's version.\n>\n> Reviewed-by: Marc Branchaud <marcnarc@xiplink.com>\n>\n> (Daniele, don't feel put off because Jonathan & I are accepting Peff's text.\n>  If you think it still needs improving please speak up!)\n>\n> \t\tM.\n\nThank you all.  Will apply.\n\n>\n>> -- >8 --\n>> From: Daniele Segato <daniele.segato@gmail.com>\n>> Subject: [PATCH] docs/git-tag: explain lightweight versus annotated tags\n>> \n>> Stress the difference between the two with a suggestion on\n>> when the user should use one in place of the other.\n>> \n>> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n>> Signed-off-by: Jeff King <peff@peff.net>\n>> ---\n>>  Documentation/git-tag.txt | 11 +++++++++++\n>>  1 file changed, 11 insertions(+)\n>> \n>> diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\n>> index 22894cb..c418c44 100644\n>> --- a/Documentation/git-tag.txt\n>> +++ b/Documentation/git-tag.txt\n>> @@ -42,6 +42,17 @@ is used to specify custom GnuPG binary.\n>>  GnuPG key for signing. \tThe configuration variable `gpg.program`\n>>  is used to specify custom GnuPG binary.\n>>  \n>> +Tag objects (created with `-a`, `s`, or `-u`) are called \"annotated\"\n>> +tags; they contain a creation date, the tagger name and e-mail, a\n>> +tagging message, and an optional GnuPG signature. Whereas a\n>> +\"lightweight\" tag is simply a name for an object (usually a commit\n>> +object).\n>> +\n>> +Annotated tags are meant for release while lightweight tags are meant\n>> +for private or temporary object labels. For this reason, some git\n>> +commands for naming objects (like `git describe`) will ignore\n>> +lightweight tags by default.\n>> +\n>>  \n>>  OPTIONS\n>>  -------\n>> \n"},{"id":"224246","messageId":"51F6AE1F.7080607@gmail.com","threadId":"34525","inReplyTo":"20130726193643.GH14690@google.com","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-29T18:02:07Z","receivedAt":"2013-07-29T18:02:07Z","isPatch":false,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"On 07/26/2013 09:36 PM, Jonathan Nieder wrote:\n> Eventually the description section should probably be tweaked to start\n> by explaining what the command is actually for. ;-)\n\nElaborating from this suggestion you gave me I tried to \nrewrite/rearrange the description moving things around a little.\n\nHere's what I've come out with, what do you think about it?\n\n\n\nDESCRIPTION\n-----------\n\nA tag is a non-mutable reference name (in `refs/tags/`) to an object \n(usually a commit).\n\nIf one of `-d/-l/-v` options is given the command will delete, list or \nverify tags.\n\nIf one of `-a`, `-s`, or `-u <key-id>` is passed, the command\ncreates both the reference and a 'tag' object containing a creation \ndate, the tagger name and e-mail, a tag message and an optional GnuPG \nsignature.  Unless\n`-m <msg>` or `-F <file>` is given, an editor is started for the user to \ntype in the tag message.\n\nOtherwise just a tag reference for the SHA-1 object name of the commit \nobject is created (i.e. a lightweight tag).\n\nUnless `-f` is given, the named tag must not yet exist.\n\nIf `-m <msg>` or `-F <file>` is given and `-a`, `-s`, and `-u <key-id>`\nare absent, `-a` is implied.\n\nA GnuPG signed tag object will be created when `-s` or `-u\n<key-id>` is used.  When `-u <key-id>` is not used, the\ncommitter identity for the current user is used to find the\nGnuPG key for signing.  The configuration variable `gpg.program`\nis used to specify custom GnuPG binary.\n\nTag objects (created with `-a`, `s`, or `-u`) are called \"annotated\" \ntags; whereas a \"lightweight\" tag is simply a name for an object \n(usually a commit object).\n\nAnnotated tags are meant for release while lightweight tags are meant \nfor private or temporary object labels. For this reason, some git \ncommands for naming objects (like `git describe`) will ignore \nlightweight tags by default.\n\n\n--\nCheers,\nDaniele Segato\n"},{"id":"224249","messageId":"51F6B163.8000605@gmail.com","threadId":"34525","inReplyTo":"51F3B2D1.2040402@googlemail.com","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-29T18:16:03Z","receivedAt":"2013-07-29T18:16:03Z","isPatch":false,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"On 07/27/2013 01:45 PM, Stefan Beller wrote:\n> On 07/27/2013 01:26 PM, Philip Oakley wrote:\n>\n>> Try 'git format-patch' and 'git send-email'. The format-patch man page\n>> even has a note about Thunderbird corruptions.\n>>\n>> Philip\n>>\n>\n> Well I use Thunderbird as well for regular communication except for\n> sending patches.\n> The kernel documentation has also some words about Thunderbird\n> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/email-clients.txt\n>\n> Given so many steps, I also configured git send-email, which makes\n> sure that patches are uncorrupted.\n> For gmail add these lines to your ~/.gitconfig\n>\n> [sendemail]\n[snip]\n\n>\n> Then you'd need to have msmtp installed and have the following\n> in the file ~/.msmtprc\n[snip]\n>\n> I think it would also work without having git relying on msmtp by now,\n> but I'd be too lazy to change my existing working setup.\n>\n\nHi Paolo, Philip, Stefan,\n\nthank you, you've been very kind.\nI think I've set it up, I'll try with the next patch, if any!\n\nRegards,\nDaniele Segato\n"},{"id":"224251","messageId":"51F6B25C.9040800@gmail.com","threadId":"34525","inReplyTo":"7v4nbd2ys2.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-29T18:20:12Z","receivedAt":"2013-07-29T18:20:12Z","isPatch":false,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"On 07/29/2013 05:04 PM, Junio C Hamano wrote:\n> Marc Branchaud <marcnarc@xiplink.com> writes:\n>\n>> On 13-07-26 03:06 PM, Jeff King wrote:\n>>> On Fri, Jul 26, 2013 at 07:33:01PM +0200, Daniele Segato wrote:\n>>>\n>>>> stress the difference between the two with suggestion on when the user\n>>>> should use one in place of the other.\n>>>>\n>>>> Signed-off-by: Daniele Segato <daniele.segato@gmail.com>\n>>>\n>>> The intent of your patch seems reasonable to me. There are a few minor\n>>> language and typographical mistakes, and the patch itself is\n>>> whitespace-damaged.\n>>>\n>>> I also do not know that it is accurate to say \"most git commands ignore\n>>> lightweight tags\". It is really only \"naming\" ones like \"git describe\".\n>>>\n>>> Here is a re-send of your patch with the fixups I would recommend.\n>>\n>> I'm happy with Peff's version.\n>>\n>> Reviewed-by: Marc Branchaud <marcnarc@xiplink.com>\n>>\n>> (Daniele, don't feel put off because Jonathan & I are accepting Peff's text.\n>>   If you think it still needs improving please speak up!)\n>>\n\nI'm not feeling putting off. I thank you for the help you gave me.\nHopefully I'll be able to provide a better patch next time.\n\n>> \t\tM.\n>\n> Thank you all.  Will apply.\n>\n\nI'm probably too late, I did proposed another version of the page \ntweaking all the description part in response to Jonathan Nieder and \nre-using the Jeff King proposition.\n\nI've been busy in the last days and couldn't reply before now.\n\nI'll understand if you don't like it and don't want to lose more time on \nthis.\n\nRegards,\nDaniele Segato\n"},{"id":"224252","messageId":"51F6B2B3.2070404@gmail.com","threadId":"34525","inReplyTo":"51F2E673.5020401@xiplink.com","subject":"Re: [PATCH] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-07-29T18:21:39Z","receivedAt":"2013-07-29T18:21:39Z","isPatch":true,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"On 07/26/2013 11:13 PM, Marc Branchaud wrote:\n> On 13-07-26 01:19 PM, Daniele Segato wrote:\n>>\n>> By the way which is your role in the community?\n>> Don't want to be rude, I just don't know who I'm talking about :) the\n>> documentation maintainer?\n>\n> I'm just a git user and (very) occasional contributor.\n>\n> There's not much structure to the git community.  Anyone who wants git to\n> change can post a patch (or patch series) to this list.  The patch can touch\n> any area of the code, and it's considered good manners to CC whoever last\n> touched the part(s) of the code being patched.\n>\n> The patch is discussed and revised as needed, and eventually the patch\n> thread's participants arrive at a consensus as to whether or not the patch\n> should become a part of git.  If the patch is accepted the git maintainer\n> (Junio C. Hamano) shepherds the patch through git's release process.  See\n> this note:\n> \thttp://git-blame.blogspot.ca/p/a-note-from-maintainer.html\n> for more about that and other aspects of the git development community.\n>\n> \t\tM.\n>\n\nThanks.\nThat helps a bit in understanding how I fit into the ml!\n\nCheers,\nDaniele Segato\n"},{"id":"224745","messageId":"52023E77.4080909@gmail.com","threadId":"34525","inReplyTo":"51F6AE1F.7080607@gmail.com","subject":"Re: [PATCHv3] git-tag man: when to use lightweight or annotated tags","fromName":"Daniele Segato","fromEmail":"daniele.segato@gmail.com","sentAt":"2013-08-07T12:32:55Z","receivedAt":"2013-08-07T12:32:55Z","isPatch":false,"sender":{"key":"daniele.segato@gmail.com","avatar":"https://avatars.githubusercontent.com/u/469948?v=4"},"body":"On 07/29/2013 08:02 PM, Daniele Segato wrote:\n> On 07/26/2013 09:36 PM, Jonathan Nieder wrote:\n>> Eventually the description section should probably be tweaked to start\n>> by explaining what the command is actually for. ;-)\n>\n> Elaborating from this suggestion you gave me I tried to\n> rewrite/rearrange the description moving things around a little.\n>\n> Here's what I've come out with, what do you think about it?\n>\n>\n>\n> DESCRIPTION\n> -----------\n>\n> A tag is a non-mutable reference name (in `refs/tags/`) to an object\n> (usually a commit).\n>\n> If one of `-d/-l/-v` options is given the command will delete, list or\n> verify tags.\n>\n> If one of `-a`, `-s`, or `-u <key-id>` is passed, the command\n> creates both the reference and a 'tag' object containing a creation\n> date, the tagger name and e-mail, a tag message and an optional GnuPG\n> signature.  Unless\n> `-m <msg>` or `-F <file>` is given, an editor is started for the user to\n> type in the tag message.\n>\n> Otherwise just a tag reference for the SHA-1 object name of the commit\n> object is created (i.e. a lightweight tag).\n>\n> Unless `-f` is given, the named tag must not yet exist.\n>\n> If `-m <msg>` or `-F <file>` is given and `-a`, `-s`, and `-u <key-id>`\n> are absent, `-a` is implied.\n>\n> A GnuPG signed tag object will be created when `-s` or `-u\n> <key-id>` is used.  When `-u <key-id>` is not used, the\n> committer identity for the current user is used to find the\n> GnuPG key for signing.  The configuration variable `gpg.program`\n> is used to specify custom GnuPG binary.\n>\n> Tag objects (created with `-a`, `s`, or `-u`) are called \"annotated\"\n> tags; whereas a \"lightweight\" tag is simply a name for an object\n> (usually a commit object).\n>\n> Annotated tags are meant for release while lightweight tags are meant\n> for private or temporary object labels. For this reason, some git\n> commands for naming objects (like `git describe`) will ignore\n> lightweight tags by default.\n\nI suppose there's no interest in this anymore\n\nthanks anyway,\nRegards,\nDaniele Segato\n"}]}