diff options
author | Ladislav Thon <lthon@redhat.com> | 2018-03-06 14:50:54 +0100 |
---|---|---|
committer | Sergii Kipot <kipot.sergey@gmail.com> | 2019-01-31 17:08:34 +0000 |
commit | a2ad875fd755ee93654c07e3649ace72bc4a4727 (patch) | |
tree | d2ed11b364138b1569ccb577742ac40a8fb24973 | |
parent | c59b5a5258c875d814b1ada82fd7bbaf7de97a26 (diff) | |
download | python-jenkins-job-builder-a2ad875fd755ee93654c07e3649ace72bc4a4727.tar.gz python-jenkins-job-builder-a2ad875fd755ee93654c07e3649ace72bc4a4727.tar.xz python-jenkins-job-builder-a2ad875fd755ee93654c07e3649ace72bc4a4727.zip |
add the "honorRefspec" option to the Git SCM
Taken from github pull request
https://github.com/openstack-infra/jenkins-job-builder/pull/64/files
Change-Id: Ib051a46daa4a3e2d6add74cc9c1c3c1eb766672a
-rw-r--r-- | jenkins_jobs/modules/scm.py | 8 | ||||
-rw-r--r-- | tests/scm/fixtures/git-cloneoptions01.xml | 1 | ||||
-rw-r--r-- | tests/scm/fixtures/git-cloneoptions01.yaml | 1 |
3 files changed, 9 insertions, 1 deletions
diff --git a/jenkins_jobs/modules/scm.py b/jenkins_jobs/modules/scm.py index 519550ce..87429f8d 100644 --- a/jenkins_jobs/modules/scm.py +++ b/jenkins_jobs/modules/scm.py @@ -172,6 +172,8 @@ def git(registry, xml_parent, data): * **depth** (`int`) - Set shallow clone depth (default 1) * **do-not-fetch-tags** (`bool`) - Perform a clone without tags (default false) + * **honor-refspec** (`bool`) - Perform initial clone using the refspec + defined for the repository (default false) * **sparse-checkout** (`dict`) * **paths** (`list`) - List of paths to sparse checkout. (optional) * **submodule** (`dict`) @@ -443,7 +445,8 @@ def git_extensions(xml_parent, data): clone_options = ( "shallow-clone", "timeout", - "do-not-fetch-tags" + "do-not-fetch-tags", + "honor-refspec", ) if any(key in data for key in clone_options): ext_name = impl_prefix + 'CloneOption' @@ -465,6 +468,9 @@ def git_extensions(xml_parent, data): data.get('do-not-fetch-tags', False)).lower() if 'timeout' in data: XML.SubElement(ext, 'timeout').text = str(data['timeout']) + if 'honor-refspec' in data: + XML.SubElement(ext, 'honorRefspec').text = str( + data.get('honor-refspec', False)).lower() if not trait and 'sparse-checkout' in data: ext_name = impl_prefix + 'SparseCheckoutPaths' ext = XML.SubElement(xml_parent, ext_name) diff --git a/tests/scm/fixtures/git-cloneoptions01.xml b/tests/scm/fixtures/git-cloneoptions01.xml index 722f773a..f4e0c78b 100644 --- a/tests/scm/fixtures/git-cloneoptions01.xml +++ b/tests/scm/fixtures/git-cloneoptions01.xml @@ -28,6 +28,7 @@ <shallow>false</shallow> <depth>1</depth> <noTags>true</noTags> + <honorRefspec>true</honorRefspec> </hudson.plugins.git.extensions.impl.CloneOption> <hudson.plugins.git.extensions.impl.WipeWorkspace/> </extensions> diff --git a/tests/scm/fixtures/git-cloneoptions01.yaml b/tests/scm/fixtures/git-cloneoptions01.yaml index 5a6a8f3d..5aced6c5 100644 --- a/tests/scm/fixtures/git-cloneoptions01.yaml +++ b/tests/scm/fixtures/git-cloneoptions01.yaml @@ -4,3 +4,4 @@ scm: branches: - master do-not-fetch-tags: true + honor-refspec: true |