What problem does this solve?
GitGo doesn't have any git tag commands yet. Tagging releases is pretty standard git workflow stuff, so we should probably support it. The other annoying thing is having to manually type version numbers every time you tag , that's an easy way to get typos or end up with mismatches between your manifest and git history.
Proposed Solution
Add a gitgo tag command that wraps the normal git tag flow so it fits our spinner/UI style.
The other thing I want to do is auto-read the version from package manifests (package.json, pyproject.toml, etc.) instead of making people type it out. Someone on Discord pointed me to opentagit (https://github.com/parrrate/opentagit), license looks compatible so we might be able to borrow some of their logic. They also mentioned how nx handles versioning, so I'll check that out too.
Alternatives Considered
We could just punt on this and tell people to use git tag directly, but that kind of defeats the whole point of GitGo. There's also the option of shipping just a basic tag wrapper with no auto-versioning, but pulling from the manifest automatically feels like it's worth doing properly, saves real time.
Additional Context
This came up from a Discord suggestion. Same person mentioned git subtrees as something worth improving eventually. Going to focus on tags first and circle back to subtrees later.
What problem does this solve?
GitGo doesn't have any
git tagcommands yet. Tagging releases is pretty standard git workflow stuff, so we should probably support it. The other annoying thing is having to manually type version numbers every time you tag , that's an easy way to get typos or end up with mismatches between your manifest and git history.Proposed Solution
Add a
gitgo tagcommand that wraps the normal git tag flow so it fits our spinner/UI style.The other thing I want to do is auto-read the version from package manifests (
package.json,pyproject.toml, etc.) instead of making people type it out. Someone on Discord pointed me toopentagit(https://github.com/parrrate/opentagit), license looks compatible so we might be able to borrow some of their logic. They also mentioned hownxhandles versioning, so I'll check that out too.Alternatives Considered
We could just punt on this and tell people to use
git tagdirectly, but that kind of defeats the whole point of GitGo. There's also the option of shipping just a basic tag wrapper with no auto-versioning, but pulling from the manifest automatically feels like it's worth doing properly, saves real time.Additional Context
This came up from a Discord suggestion. Same person mentioned git subtrees as something worth improving eventually. Going to focus on tags first and circle back to subtrees later.