As Doc Brown once said: "That's because you're not thinking four
dimensionally" ;-)
git-show v1.4.4:templates/hooks--update | grep masses
Luben: that message is being generated by the remote version of git rather
than your local version. It doesn't matter that /you/ don't have any hook
scripts enabled, what matters is that the remote repository has them enabled.
In particular the hooks/update script has been enabled.
The output you show is from the update hook from an older version of git, but
the git you're running on the remote end is a newer version. The hook
scripts don't get updated when you upgrade git because they're copied to the
repository from the latest template when you clone or init.
Now: onto the fault; this same fault was fixed in the sample hook in revision
a2ee81bb7594b; the problem is that the older update hook used to split the
output of git-describe on the last dash and made the assumption that
everything before the dash was a tag name. git-describe gained a nice new
feature were it would show the number of revisions since that tag as well.
So now the output of git-describe is
tag-N-revision
So you can see that splitting on the last dash would return "tag-N" rather
than "tag". Now, when the update hook uses this "tag-N" as if it were a tag,
git obviously doesn't find it, so you're fatal error is coming from running
something like:
git-rev-list v2.6.21-rc3-329..bac6eefe96204d0ad67d144f2511a6fc487aa594
becuase "v2.6.21-rc3-329" is not a tag.
The fix: My own suggestion would be to just swap the update hook on the
server for the one that came with the latest version of git (although I'm
completely biased :-)). Remember to do this on the remote repository, not
your local one. Alternatively you could fix just that bug in the hook script
you have to leave things as close as possible to what you've got now, by
editing .git/hooks/update and making this change:
- prev=$(git describe "$3^" | sed 's/-g.*//')
+ prev=$(git describe --abbrev=0 "$3^")
Alternatively; I've got a further update to the notification email script
prepared that I'm finishing testing and will send today that updates to use
the post-receive hook rather than the update hook and fixes a number of bugs.
Andy
--
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com
--- Marco Roeland <marco.roeland@xs4all.nl> wrote:
On Friday March 23rd 2007 at 01:16 Junio C Hamano wrote:
quoted
Luben Tuikov [off-list ref] writes:
quoted
BTW, git has always said to me "Pushing version ... to the masses"
whenever I'd do "git-push --tags web".
Sorry, I must be blind, and git-grep is too.
$ git grep -e 'to the masses' -e 'Pushing v'
returns absolutely empty.
The line comes from an older version of templates/hooks--update. The
line was removed in commit 829a686f1b50ba96cac2d88494fa339efe0c0862 .
So Luben does seem to have a hook installed, perhaps this is the
culprit.
I see.
I double checked and I do have "update" and "post-update" hooks
enabled. I don't think that it is "post-update" and this leaves
"update" to be the problem (which is from an ancient git version
when the repo was created...).
I'll update the "update" hook from a recent git version and
will see if I get the same warning message. Hopefully not.
Thanks,
Luben
From: Marco Roeland <hidden> Date: 2016-06-15 22:43:01
On Friday March 23rd 2007 at 01:16 Junio C Hamano wrote:
Luben Tuikov [off-list ref] writes:
quoted
BTW, git has always said to me "Pushing version ... to the masses"
whenever I'd do "git-push --tags web".
Sorry, I must be blind, and git-grep is too.
$ git grep -e 'to the masses' -e 'Pushing v'
returns absolutely empty.
The line comes from an older version of templates/hooks--update. The
line was removed in commit 829a686f1b50ba96cac2d88494fa339efe0c0862 .
So Luben does seem to have a hook installed, perhaps this is the
culprit.
--
Marco Roeland
The output you show is from the update hook from an older version of git, but
the git you're running on the remote end is a newer version. The hook
scripts don't get updated when you upgrade git because they're copied to the
repository from the latest template when you clone or init.
Yeah, most of my git repos, especially the web exported ones are
truly of an ancient git...
The fix: My own suggestion would be to just swap the update hook on the
server for the one that came with the latest version of git (although I'm
completely biased :-)). Remember to do this on the remote repository, not
your local one.
Yeah, I'll cp(1) the most recent "update" hook I got in "next" to the
ancient web exported repos I own...
Alternatively; I've got a further update to the notification email script
prepared that I'm finishing testing and will send today that updates to use
the post-receive hook rather than the update hook and fixes a number of bugs.