schacon/hg-git — Issue #239: Tag integration exhibits unexpected behaviors
Author: gsong
Created: 2012-01-23 20:23:46+00:00
State: open

There are a couple "normal" use cases for tags which do not seem to work.

## Setup

* GitHub repository
* Local hg clone

## Creating a new tag using Hg

1. `hg tag new-release` creates `.hgtags`
2. `hg push` pushes the new tag to GitHub correctly (and the commit which creates/edits `.hgtags`)
3. `hg tag --remove new-release && hg push`
4. `hg tags` shows that the tag is gone from the Hg clone
5. However, `git pull && git tag` shows that the tag still exists
6. On GitHub, the tag still exists

I would expect that tags would be pushed/pulled properly from a git repository.

## Removing a remote tag from Github

1. Create a brand new hg clone of a GitHub repository
2. `git tag new-release && git push --tags`
4. Confirm on GitHub that the new tag exists
3. `hg pull && hg tags` confirm that the new tag exists and is referenced in `.hg/git-tags`
4. `git tag -d new-release && git push origin :refs/tags/new-release`
5. `git tag` and browsing on GitHub confirms that the tag is gone
6. `hg pull && hg tags` still shows the new-release tag still exists