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 first I 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, Jim - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html