Jenkins Git plugin and Refspecs

2020-05-30 06:48发布

问题:

What is the difference between Refspec and Branch specifier (blank for default): in the below Jenkins job configuration:

I have tried to set the Refspec option in the job configuration:

+refs/heads/master:refs/remotes/origin/master

In the cloned repo on my build slave the .git/config file looks like this:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://user:pass@git.internal.com/scm/PROJECT/project.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

It seems that the value for fetch is not correct (read from the jenkins job configuration). Further it has no effect on the diskspace consumption.

回答1:

Refspec defines options for the fetch operation (see here and here) whereas the branch specifier defines which branch contains the code to be built by Jenkins. In other words: Refspec only defines how the code is retrieved while branch specifier which part of the code is going to be compiled.

[Edit:] Fixed broken link to refspec



标签: git jenkins