Remote Tag support

Marc Strapetz 2 years ago updated by Michael_ 6 months ago 2

Git itself does not have "remote tags" as an explicit concept but one can workaround it by introducing custom refs, like 'rtags'. This basically requires to add an additional fetch-refspec like:

[remote "origin"]
  fetch = +refs/tags/*:refs/rtags/origin/*

This makes Git always reflect and update the server-side state of tags on pulls and pushes.

Now, SmartGit could interpret this special "rtags" refs and apply the same logic to it as it does for remote and local branches:

- evaluate ahead/behind/diverged state for tags

- in the Log, have puzzle-piece display of tags

- forced-push checks for tags

- ...

I wouldn't got that far with ahead/behind jigsaw pieces. Just the information whether a tag exists locally and remotely as well as equal/different would be enough for the majority of the use cases.


I would also appreciate to see in SmartGit if a tag is pushed already. We use tags to start our deployment process via gitlab runner.

After creation of the tag you need to push it to the server to start the gitlab runner CI process.

Every now and than a developer forgets to push the tag and wonders why the process doesn't start.

For this usecase it would be sufficient, if smartgit checks, if any local tag is not on the remote yet.

Thanks a lot,