Auto-Rebase on Pull makes tags on unpushed changesets invalid
Created originally on Bitbucket by Mubed (Mehrdad Mirreza)
I know that this is by design that a tag tags a fixed changeset hash and rebasing changes the changeset hashes, so you could say this is not a bug.
BUT I believe the usecase exists and is very popular that someone works offline for a while and tags some special commits to find them later, then he tries to push his changes and sees that others have changed the code, so he pulls first and has auto-rebase on. This results in a clean rebase and his changes are at the top of the changes others did, but the tags point to dead changesets now and are practically invalidated without any warning.
I suggest that THG checks on rebasing if any tags are getting invalid and give the user one of these choices:
- Update tags (should be default, because the most common case)
- Remove invalid tags
- Abort rebase and merge instead