Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does maven-release-plugin push tags to remote Git repository?

When using the maven-release-plugin with Git, mvn release:prepare happily tags the release in the local repository. I'd expect mvn release:perform to push the tags to the remote repository, but this doesn't seem to happen.

Am I mistaken?

If not, is there an option to enable pushing release tags to the remote repository?

like image 950
Armand Avatar asked Apr 28 '10 14:04

Armand


People also ask

Does push send tags to remote repository?

By default, the git push command doesn't transfer tags to remote servers. You will have to explicitly push tags to a shared server after you have created them. This process is just like sharing remote branches — you can run git push origin <tagname> .

How does maven release plugin work?

The plugin will extract file revisions associated with the current release. Maven will compile, test and package the versioned project source code into an artifact. The final deliverable will then be released into an appropriate maven repository.

Are tags pushed with git push?

Sharing tags is similar to pushing branches. By default, git push will not push tags. Tags have to be explicitly passed to git push .

Which command is used to push a tag into remote repository?

Use git push to push commits made on your local branch to a remote repository.


1 Answers

For me, release-prepare seems to be pushing three times:

  1. After committing the POM updated to the new release version, it's running git push with no arguments, to push that commit.
  2. After tagging, it's running git push origin <tagname>, which is what should push the tag.
  3. After committing the POM updated to the new snapshot version, it's running git push with no arguments again.

Given that it's explicitly specifying origin for the tag push, it may only successfully push the tags if your git-remote alias is actually called origin. To see what yours are called, run git remote -v.

Note also that git push without arguments may default to something other than origin, depending on your repository config - i.e. it may have been trying to push commits to one place and tags to another. See here for where those defaults come from: http://www.kernel.org/pub/software/scm/git/docs/git-push.html#REMOTES

like image 161
memorius Avatar answered Oct 06 '22 01:10

memorius