From 2b166cff8a5760b05964e7026456340b7b36ca76 Mon Sep 17 00:00:00 2001 From: Luca Weiss Date: Wed, 24 Apr 2024 15:44:39 +0200 Subject: [PATCH] Add support for clean-first parameter of repo scm The repo plugin supports 'cleanFirst' since plugin v1.11.0 https://github.com/jenkinsci/repo-plugin/commit/9c7e81cbf0f0ff6414df31a5b782805c8725012a Add support inside jenkins-job-builder to set that value. Change-Id: Ifae1bad0f0fb4a56fc0f030038eefbcc8cd4ad6f --- jenkins_jobs/modules/scm.py | 4 ++++ tests/macros/fixtures/scm/multi-scms002.xml | 1 + tests/scm/fixtures/repo001.xml | 1 + tests/scm/fixtures/repo001.yaml | 1 + 4 files changed, 7 insertions(+) diff --git a/jenkins_jobs/modules/scm.py b/jenkins_jobs/modules/scm.py index cfed93315..a50145449 100644 --- a/jenkins_jobs/modules/scm.py +++ b/jenkins_jobs/modules/scm.py @@ -942,6 +942,9 @@ def repo(registry, xml_parent, data): :arg bool reset-first: Remove any commits that are not on the repositories by running the following command before anything else (default false): ``repo forall -c "git reset --hard"`` + :arg bool clean-first: Remove any files that are not tracked in the repositories + by running the following command before anything else (default false): + ``repo forall -c "git clean -fdx"`` :arg bool quiet: Make repo more quiet (default true) :arg bool force-sync: Continue sync even if a project fails to sync @@ -968,6 +971,7 @@ def repo(registry, xml_parent, data): ("depth", "depth", 0), ("current-branch", "currentBranch", True), ("reset-first", "resetFirst", False), + ("clean-first", "cleanFirst", False), ("quiet", "quiet", True), ("force-sync", "forceSync", False), ("no-tags", "noTags", False), diff --git a/tests/macros/fixtures/scm/multi-scms002.xml b/tests/macros/fixtures/scm/multi-scms002.xml index ba788f916..174014ca6 100644 --- a/tests/macros/fixtures/scm/multi-scms002.xml +++ b/tests/macros/fixtures/scm/multi-scms002.xml @@ -16,6 +16,7 @@ 2 false false + false false false false diff --git a/tests/scm/fixtures/repo001.xml b/tests/scm/fixtures/repo001.xml index 93204fb3d..275375902 100644 --- a/tests/scm/fixtures/repo001.xml +++ b/tests/scm/fixtures/repo001.xml @@ -6,6 +6,7 @@ 0 false true + true false true true diff --git a/tests/scm/fixtures/repo001.yaml b/tests/scm/fixtures/repo001.yaml index cc503c7b3..165082b66 100644 --- a/tests/scm/fixtures/repo001.yaml +++ b/tests/scm/fixtures/repo001.yaml @@ -13,6 +13,7 @@ scm: jobs: 3 current-branch: false reset-first: true + clean-first: true quiet: false force-sync: true no-tags: true