threads / patch / 7583

patchgit-tag: Document that -m/-F create tag objects, too

Subject: [PATCH] git-tag: Document that -m/-F create tag objects, too

## tl;dr

4 messages between Apr 9, 2007 and Apr 9, 2007. Diffs are folded; open one to read it.

replies: 3people: 2as markdown or json

Florian Weimer· Apr 9, 2007, 12:06 UTC · lore

And warn about the fact that lightweight tags are not normally transferred by clone/fetch.

Signed-off-by: Florian Weimer <fw@deneb.enyo.de>
---
 Documentation/git-tag.txt |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)
Show changes to Documentation/git-tag.txt +9 −7
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index 70235e8..fc5f4e3 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -20,13 +20,15 @@ Adds a 'tag' reference in `.git/refs/tags/`
 Unless `-f` is given, the tag must not yet exist in
 `.git/refs/tags/` directory.
 
-If one of `-a`, `-s`, or `-u <key-id>` is passed, the command
-creates a 'tag' object, and requires the tag message.  Unless
-`-m <msg>` is given, an editor is started for the user to type
-in the tag message.
-
-Otherwise just the SHA1 object name of the commit object is
-written (i.e. a lightweight tag).
+If one of `-a`, `-m <msg>`, `-F <file>`, `-s`, or `-u <key-id>` is
+passed, the command creates a 'tag' object.  Unless `-m <msg>` or `-F
+<file>` is given, an editor is started for the user to type in the tag
+message.
+
+Otherwise just the SHA1 object name of the commit object is written
+(i.e. a lightweight tag).  Note that such tags are not automatically
+copied by "git-clone" and "git-fetch", so you want to use them for
+local tags only.
 
 A GnuPG signed tag object will be created when `-s` or `-u
 <key-id>` is used.  When `-u <key-id>` is not used, the
-- 
1.5.1
Julian Phillips· Apr 9, 2007, 14:58 UTC · re: Florian Weimer · lore

Re: [PATCH] git-tag: Document that -m/-F create tag objects, too

On Mon, 9 Apr 2007, Florian Weimer wrote:
> And warn about the fact that lightweight tags are not normally
> transferred by clone/fetch.
Um ... yes, they are (in v1.5.1 at least).
Show 34 quoted lines
>
> Signed-off-by: Florian Weimer <fw@deneb.enyo.de>
> ---
> Documentation/git-tag.txt |   16 +++++++++-------
> 1 files changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
> index 70235e8..fc5f4e3 100644
> --- a/Documentation/git-tag.txt
> +++ b/Documentation/git-tag.txt
> @@ -20,13 +20,15 @@ Adds a 'tag' reference in `.git/refs/tags/`
> Unless `-f` is given, the tag must not yet exist in
> `.git/refs/tags/` directory.
>
> -If one of `-a`, `-s`, or `-u <key-id>` is passed, the command
> -creates a 'tag' object, and requires the tag message.  Unless
> -`-m <msg>` is given, an editor is started for the user to type
> -in the tag message.
> -
> -Otherwise just the SHA1 object name of the commit object is
> -written (i.e. a lightweight tag).
> +If one of `-a`, `-m <msg>`, `-F <file>`, `-s`, or `-u <key-id>` is
> +passed, the command creates a 'tag' object.  Unless `-m <msg>` or `-F
> +<file>` is given, an editor is started for the user to type in the tag
> +message.
> +
> +Otherwise just the SHA1 object name of the commit object is written
> +(i.e. a lightweight tag).  Note that such tags are not automatically
> +copied by "git-clone" and "git-fetch", so you want to use them for
> +local tags only.
>
> A GnuPG signed tag object will be created when `-s` or `-u
> <key-id>` is used.  When `-u <key-id>` is not used, the
>
-- 
Julian

  ---
"But as a result of evil, there's some amazing things that are taking place in
America."

George W. Bush
Daytona Beach, Florida.
Florian Weimer· Apr 9, 2007, 15:31 UTC · re: Julian Phillips · lore

Re: [PATCH] git-tag: Document that -m/-F create tag objects, too

* Julian Phillips:
Show 6 quoted lines
> On Mon, 9 Apr 2007, Florian Weimer wrote:
>
>> And warn about the fact that lightweight tags are not normally
>> transferred by clone/fetch.
>
> Um ... yes, they are (in v1.5.1 at least).
Hmm.  This has to be a fairly recent change, see:
<http://article.gmane.org/gmane.linux.kernel/513438>
Julian Phillips· Apr 9, 2007, 16:15 UTC · re: Florian Weimer · lore

Re: [PATCH] git-tag: Document that -m/-F create tag objects, too

On Mon, 9 Apr 2007, Florian Weimer wrote:
Show 13 quoted lines
> * Julian Phillips:
>
>> On Mon, 9 Apr 2007, Florian Weimer wrote:
>>
>>> And warn about the fact that lightweight tags are not normally
>>> transferred by clone/fetch.
>>
>> Um ... yes, they are (in v1.5.1 at least).
>
> Hmm.  This has to be a fairly recent change, see:
>
> <http://article.gmane.org/gmane.linux.kernel/513438>
>

It's not that recent a change. I have been cloning and fetching my tag-references for some time (being too lazy to use full tags for my one-man projects). Certainly since v1.4.4 days ...

Fetch doesn't care whether a tag is a full tag or merely a reference, it will automatically fetch them both in the same way (not sure about clone). It checks that the reference points at an object, but not that the object is a tag rather than a commit. This behaviour hasn't changed since the auto tag-following code was added (AFAIK). Any difference between the treatment of tags and tag-references is a subtle consequence of the former adding an object I expect.

In the case of the v2.6.21-rc6 tag-reference anyone who did a clone or fetch and may have got the tag-reference provided that they didn't already have the commit it referenced? I'm not 100% sure of the behaviour here, I haven't quite got to tag following in my C rewrite (I should be doing it later today).

-- 
Julian

  ---
Never call a man a fool.  Borrow from him.

← back to recent threads