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

4 messages from 2007-04-09 to 2007-04-09. Participants: Florian Weimer, Julian Phillips.
Thread: https://gitlist.dev/t/7583

## Florian Weimer, 2007-04-09 12:06

Subject: [PATCH] git-tag: Document that -m/-F create tag objects, too
Message-ID: <E1Hash0-0004rN-Mu@mid.deneb.enyo.de>
URL: https://gitlist.dev/e/E1Hash0-0004rN-Mu%40mid.deneb.enyo.de

```
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(-)

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, 2007-04-09 14:58

Subject: Re: [PATCH] git-tag: Document that -m/-F create tag objects, too
Message-ID: <Pine.LNX.4.64.0704091554330.32490@beast.quantumfyre.co.uk>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0704091554330.32490%40beast.quantumfyre.co.uk
In-Reply-To: <E1Hash0-0004rN-Mu@mid.deneb.enyo.de>

```
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).

>
> 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, 2007-04-09 15:31

Subject: Re: [PATCH] git-tag: Document that -m/-F create tag objects, too
Message-ID: <87y7l11s5m.fsf@mid.deneb.enyo.de>
URL: https://gitlist.dev/e/87y7l11s5m.fsf%40mid.deneb.enyo.de
In-Reply-To: <Pine.LNX.4.64.0704091554330.32490@beast.quantumfyre.co.uk>

```
* 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>

```

## Julian Phillips, 2007-04-09 16:15

Subject: Re: [PATCH] git-tag: Document that -m/-F create tag objects, too
Message-ID: <Pine.LNX.4.64.0704091641290.1420@beast.quantumfyre.co.uk>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0704091641290.1420%40beast.quantumfyre.co.uk
In-Reply-To: <87y7l11s5m.fsf@mid.deneb.enyo.de>

```
On Mon, 9 Apr 2007, Florian Weimer wrote:

> * 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.

```
