Allow releasing from a checked out tag of existing release
I should be able to release a package if I have checked out a specific version tag. Currently if you attempt this you will get a vcs error ReleaseVCSError: Release cancelled: there is no upstream branch
Motivation
I think it's not an unreasonable situation that you may need to release a previous version of a package again either to a new repository location or in my case, to release another variant. While this can be bypassed with the --skip-repo-errors flag, I think this should be a use that is catered to.
When you checkout a tag, you basically checkout a commit. Which means that you end up in a detached state where there is no branch to work with. From the point of view of rez, it's difficult I think to guess what the user wants to happen. So I'm not sure if we can safely do anything or even come up with a solution that would make sense. We need to balance protecting our users and also have something flexible, which isn't always simple.
I'm not saying we can't do anything, but we'll need to think about it.
Also, if you want to copy a package from one repo to another, you can use rez-cp.
Of course, it's just a nice to have really and I think it makes sense. Some packages you can't rez-cp, if they're set as not relocatable for instance!