[git-users] Re: Can't push old tag

2010-07-01 Thread Trans


On Jul 1, 1:53 pm, Konstantin Khomoutov  wrote:
> On Jul 1, 8:00 pm, Trans  wrote:
>
> > I tried to push my tags for the first time and an old tag is throwing
> > an error:
>
> >   $ git push --tags
> >   To g...@github.com:proutils/vclog.git
> >    ! [rejected]        1.4.0 -> 1.4.0 (non-fast forward)
> >   error: failed to push some refs to '@github.com:proutils/
> > vclog.git'
>
> > But my current tag is 1.7.0. What's going here> 1.4.0 is old. How do I
> > fix this?
>
> First of all, Git has no such concept as "current tag". A tag is
> simply a file which contains the name of a certain existing commit.
> Tags do not move between commits; they are "sticky" (to the commits
> they point to).
>
> When you do `git push --tags`, git tries to push all local tags from
> your local repository to the remote repository; any tags which are
> missing on the remote side are created there and any tags which point
> to different commits are meant to be replaced.
>
> Now, to be honest, I don't quite get what happens in your case: I
> always thought updating of tags cannot be rejected, and the concept of
> "fast-forward" does only apply to merges and pushing of branches. So,
> to me, this error message appears to be nonsensical.
>
> But I have one idea for you to explore: github may have certain hooks
> set up which prevent replacement of tags. That is, tags may be kind of
> read-only. I'm not sure if it at all possible but this would explain
> your problem. You can do several things to cope with this:
> a) Fetching from remote overwrites local tags unless you tell `git
> fetch` not to. Hence you can try to do `git fetch` and then retry your
> push.
> b) You can try to do `git push --tags --force` and see if this will
> forcibly overwrite remote tags.
> c) You can try to delete the remote tag using `git push origin :
> 1.4.0`  followed by `git push --tags`.
?
> What to do depends on what repo you think is correct.

Thanks. Option b did the trick. And it reminded me as to what I think
happened.

I noticed that the tag message for 1.4.0 was wrong some weeks ago, I
wasn't sure how to correct it, so I asked and a suggestion was made to
just delete the tag and retag it. So that's what I did. Even though
I'm pretty sure it's the same ref point, apparently it made a
distinction.

Thanks again for the help.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-us...@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.



[git-users] Re: Can't push old tag

2010-07-01 Thread Konstantin Khomoutov
On Jul 1, 8:00 pm, Trans  wrote:

> I tried to push my tags for the first time and an old tag is throwing
> an error:
>
>   $ git push --tags
>   To g...@github.com:proutils/vclog.git
>    ! [rejected]        1.4.0 -> 1.4.0 (non-fast forward)
>   error: failed to push some refs to '@github.com:proutils/
> vclog.git'
>
> But my current tag is 1.7.0. What's going here> 1.4.0 is old. How do I
> fix this?

First of all, Git has no such concept as "current tag". A tag is
simply a file which contains the name of a certain existing commit.
Tags do not move between commits; they are "sticky" (to the commits
they point to).

When you do `git push --tags`, git tries to push all local tags from
your local repository to the remote repository; any tags which are
missing on the remote side are created there and any tags which point
to different commits are meant to be replaced.

Now, to be honest, I don't quite get what happens in your case: I
always thought updating of tags cannot be rejected, and the concept of
"fast-forward" does only apply to merges and pushing of branches. So,
to me, this error message appears to be nonsensical.

But I have one idea for you to explore: github may have certain hooks
set up which prevent replacement of tags. That is, tags may be kind of
read-only. I'm not sure if it at all possible but this would explain
your problem. You can do several things to cope with this:
a) Fetching from remote overwrites local tags unless you tell `git
fetch` not to. Hence you can try to do `git fetch` and then retry your
push.
b) You can try to do `git push --tags --force` and see if this will
forcibly overwrite remote tags.
c) You can try to delete the remote tag using `git push origin :
1.4.0`  followed by `git push --tags`.

What to do depends on what repo you think is correct.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-us...@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.



Re: [git-users] Can't push old tag

2010-07-01 Thread Michael P. Soulier
On 01/07/10 Trans said:

> I tried to push my tags for the first time and an old tag is throwing
> an error:
> 
>   $ git push --tags
>   To g...@github.com:proutils/vclog.git
>! [rejected]1.4.0 -> 1.4.0 (non-fast forward)
>   error: failed to push some refs to 'g...@github.com:proutils/
> vclog.git'
> 
> But my current tag is 1.7.0. What's going here> 1.4.0 is old. How do I
> fix this?

Looks like you need to pull and merge first.

Mike
-- 
Michael P. Soulier 
"Any intelligent fool can make things bigger and more complex... It takes a
touch of genius - and a lot of courage to move in the opposite direction."
--Albert Einstein


pgp7WfX1gQdfe.pgp
Description: PGP signature


[git-users] Can't push old tag

2010-07-01 Thread Trans
I tried to push my tags for the first time and an old tag is throwing
an error:

  $ git push --tags
  To g...@github.com:proutils/vclog.git
   ! [rejected]1.4.0 -> 1.4.0 (non-fast forward)
  error: failed to push some refs to 'g...@github.com:proutils/
vclog.git'

But my current tag is 1.7.0. What's going here> 1.4.0 is old. How do I
fix this?

Thanks.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-us...@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.