can I remove or move a tag in a remote repository?
Hello,
Periodically, I sync the coreutils git repository to an otherwise read-only CVS repo, and use a cheap git tag named "cvs-head" to keep track of the point to which the latest sync operation has run. Then, after every sync-git-to-cvs operation, I run this:
git-tag -f -m "most recent version that has been sync'd to cvs" cvs-head $sha1
Also periodically, I push my git working dir/repo to a public place,
http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=summary
----------------- Just today, I have finally pushed tags to that public repo, including the "cvs-head" one (before there were no tags in the remote repo). But now, I've just done a local sync-to-cvs operation, which has resulted in moving that tag to point to a different point in the git repo.
Here's the problem: When I try to push the new tags, git-push fails:
$ git-push -f --tags ssh+git://git.sv.gnu.org/srv/git/coreutils master:refs/heads/master
updating 'refs/tags/cvs-head'
from 2fd3fd29a8b40be695bc2327c8cd3bd33e521100
to db18f53ffb221e9957124d8af81c11a7e350ac3b
...
Total 1, written 1 (delta 0), reused 0 (delta 0)
Unpacking 1 objects
error: denying non-fast forward; you should pull firstI get the same error also when using --force.
Perhaps I shouldn't push the cvs-head tag at all.
A few questions:
- is there a way to say "push all tags matching /COREUTILS-*/"
or to say "push all tags, except the ones on this list"?
- is there a way to remove the cvs-head tag from the remote directory?
Note: I don't have shell access there. I can request that someone
with shell access do it, but shouldn't have to resort to that.
- is there some way to make "git push" do what I want, and update the
offending tag in the remote repo?Thanks for listening,