Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package updatecli for openSUSE:Factory 
checked in at 2025-07-14 10:52:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/updatecli (Old)
 and      /work/SRC/openSUSE:Factory/.updatecli.new.7373 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "updatecli"

Mon Jul 14 10:52:05 2025 rev:24 rq:1292492 version:0.104.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/updatecli/updatecli.changes      2025-07-09 
17:29:38.122621059 +0200
+++ /work/SRC/openSUSE:Factory/.updatecli.new.7373/updatecli.changes    
2025-07-14 10:57:47.559780198 +0200
@@ -1,0 +2,25 @@
+Sun Jul 13 12:04:24 UTC 2025 - Johannes Kastl 
<opensuse_buildserv...@ojkastl.de>
+
+- Update to version 0.104.0:
+  * Features
+    - feat: Allow to customize temporary working branch created by
+      Updatecli @olblak (#5589)
+  * Bug Fixes
+    - fix: avoid loading partial when not needed @olblak (#5618)
+  * Maintenance
+    - deps: bump golangci-lint to v2.2.2 @updateclibot[bot] (#5619)
+    - deps(go): bump module golang.org/x/net to v0.42.0
+      @updateclibot[bot] (#5617)
+    - deps(go): bump module golang.org/x/mod to v0.26.0
+      @updateclibot[bot] (#5593)
+    - deps(go): bump module golang.org/x/text to v0.27.0
+      @updateclibot[bot] (#5600)
+    - deps: Bump Golang version to 1.24.5 @updateclibot[bot]
+      (#5579)
+    - deps(go): bump module github.com/fluxcd/source-controller/api
+      to v1.6.2 @updateclibot[bot] (#5588)
+    - deps: bump golangci-lint to v2.2.1 @updateclibot[bot] (#5570)
+    - deps(go): bump module helm.sh/helm/v3 to v3.18.4
+      @updateclibot[bot] (#5556)
+
+-------------------------------------------------------------------

Old:
----
  updatecli-0.103.1.obscpio

New:
----
  updatecli-0.104.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ updatecli.spec ++++++
--- /var/tmp/diff_new_pack.gs03H4/_old  2025-07-14 10:57:50.755912694 +0200
+++ /var/tmp/diff_new_pack.gs03H4/_new  2025-07-14 10:57:50.759912860 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           updatecli
-Version:        0.103.1
+Version:        0.104.0
 Release:        0
 Summary:        A Declarative Dependency Management tool
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.gs03H4/_old  2025-07-14 10:57:50.975921815 +0200
+++ /var/tmp/diff_new_pack.gs03H4/_new  2025-07-14 10:57:51.027923970 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/updatecli/updatecli</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v0.103.1</param>
+    <param name="revision">v0.104.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.gs03H4/_old  2025-07-14 10:57:51.171929940 +0200
+++ /var/tmp/diff_new_pack.gs03H4/_new  2025-07-14 10:57:51.207931433 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/updatecli/updatecli</param>
-              <param 
name="changesrevision">7ecaffd7f134d85fc4481f194372d1d52c4dbe08</param></service></servicedata>
+              <param 
name="changesrevision">ca9e27fe59af8a55ea3dde94a7e8a0bfe35b4655</param></service></servicedata>
 (No newline at EOF)
 

++++++ updatecli-0.103.1.obscpio -> updatecli-0.104.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/README.adoc 
new/updatecli-0.104.0/README.adoc
--- old/updatecli-0.103.1/README.adoc   2025-07-08 17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/README.adoc   2025-07-13 08:25:50.000000000 +0200
@@ -52,7 +52,7 @@
 Once you have the three files locally, you can execute the following command
 
 ```
-cosign verify-blob --certificate-identity-regexp 
"https://github.com/updatecli/updatecli"; --certificate-oidc-issuer 
'https://token.actions.githubusercontent.com' --cert 
https://github.com/updatecli/updatecli/releases/download/v0.103.0/checksums.txt.pem
 --signature 
https://github.com/updatecli/updatecli/releases/download/v0.103.0/checksums.txt.sig
 checksums.txt
+cosign verify-blob --certificate-identity-regexp 
"https://github.com/updatecli/updatecli"; --certificate-oidc-issuer 
'https://token.actions.githubusercontent.com' --cert 
https://github.com/updatecli/updatecli/releases/download/v0.103.1/checksums.txt.pem
 --signature 
https://github.com/updatecli/updatecli/releases/download/v0.103.1/checksums.txt.sig
 checksums.txt
 ```
 
 A successful output looks like
@@ -76,7 +76,7 @@
 **Verify Container signature**
 
 ```
-cosign verify --certificate-identity-regexp 
"https://github.com/updatecli/updatecli"; --certificate-oidc-issuer 
"https://token.actions.githubusercontent.com"; 
ghcr.io/updatecli/updatecli:v0.103.0
+cosign verify --certificate-identity-regexp 
"https://github.com/updatecli/updatecli"; --certificate-oidc-issuer 
"https://token.actions.githubusercontent.com"; 
ghcr.io/updatecli/updatecli:v0.103.1
 ```
 
 == Documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/go.mod new/updatecli-0.104.0/go.mod
--- old/updatecli-0.103.1/go.mod        2025-07-08 17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/go.mod        2025-07-13 08:25:50.000000000 +0200
@@ -1,6 +1,6 @@
 module github.com/updatecli/updatecli
 
-go 1.24.4
+go 1.24.5
 
 require (
        dario.cat/mergo v1.0.2
@@ -26,7 +26,7 @@
        github.com/stretchr/testify v1.10.0
        golang.org/x/oauth2 v0.30.0
        gopkg.in/yaml.v3 v3.0.1
-       helm.sh/helm/v3 v3.18.3
+       helm.sh/helm/v3 v3.18.4
        sigs.k8s.io/yaml v1.5.0
 )
 
@@ -38,7 +38,7 @@
        github.com/beevik/etree v1.5.1
        github.com/drone/go-scm v1.40.1
        github.com/fluxcd/helm-controller/api v1.3.0
-       github.com/fluxcd/source-controller/api v1.6.0
+       github.com/fluxcd/source-controller/api v1.6.2
        github.com/goccy/go-yaml v1.18.0
        github.com/google/go-containerregistry v0.20.5
        github.com/google/go-github/v69 v69.2.0
@@ -60,7 +60,7 @@
        github.com/yuin/goldmark v1.7.12
        github.com/zclconf/go-cty v1.16.3
        golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
-       golang.org/x/text v0.26.0
+       golang.org/x/text v0.27.0
        golang.org/x/time v0.11.0
        gopkg.in/ini.v1 v1.67.0
        oras.land/oras-go/v2 v2.6.0
@@ -300,29 +300,29 @@
        github.com/xlab/treeprint v1.2.0 // indirect
        gitlab.com/gitlab-org/api/client-go v0.129.0
        go.opencensus.io v0.24.0 // indirect
-       golang.org/x/crypto v0.39.0 // indirect
-       golang.org/x/mod v0.25.0
-       golang.org/x/net v0.41.0
-       golang.org/x/sync v0.15.0 // indirect
-       golang.org/x/sys v0.33.0 // indirect
-       golang.org/x/term v0.32.0 // indirect
-       golang.org/x/tools v0.33.0 // indirect
+       golang.org/x/crypto v0.40.0 // indirect
+       golang.org/x/mod v0.26.0
+       golang.org/x/net v0.42.0
+       golang.org/x/sync v0.16.0 // indirect
+       golang.org/x/sys v0.34.0 // indirect
+       golang.org/x/term v0.33.0 // indirect
+       golang.org/x/tools v0.34.0 // indirect
        google.golang.org/api v0.215.0 // indirect
        google.golang.org/grpc v1.68.1 // indirect
        google.golang.org/protobuf v1.36.5 // indirect
        gopkg.in/inf.v0 v0.9.1 // indirect
        gopkg.in/warnings.v0 v0.1.2 // indirect
        gopkg.in/yaml.v2 v2.4.0
-       k8s.io/api v0.33.1 // indirect
-       k8s.io/apiextensions-apiserver v0.33.1 // indirect
-       k8s.io/apimachinery v0.33.1 // indirect
-       k8s.io/apiserver v0.33.1 // indirect
-       k8s.io/cli-runtime v0.33.1 // indirect
-       k8s.io/client-go v0.33.1 // indirect
-       k8s.io/component-base v0.33.1 // indirect
+       k8s.io/api v0.33.2 // indirect
+       k8s.io/apiextensions-apiserver v0.33.2 // indirect
+       k8s.io/apimachinery v0.33.2 // indirect
+       k8s.io/apiserver v0.33.2 // indirect
+       k8s.io/cli-runtime v0.33.2 // indirect
+       k8s.io/client-go v0.33.2 // indirect
+       k8s.io/component-base v0.33.2 // indirect
        k8s.io/klog/v2 v2.130.1 // indirect
        k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
-       k8s.io/kubectl v0.33.1 // indirect
+       k8s.io/kubectl v0.33.2 // indirect
        k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e // indirect
        sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
        sigs.k8s.io/kustomize/api v0.19.0 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/go.sum new/updatecli-0.104.0/go.sum
--- old/updatecli-0.103.1/go.sum        2025-07-08 17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/go.sum        2025-07-13 08:25:50.000000000 +0200
@@ -284,8 +284,8 @@
 github.com/fluxcd/pkg/apis/kustomize v1.10.0/go.mod 
h1:UsqMV4sqNa1Yg0pmTsdkHRJr7bafBOENIJoAN+3ezaQ=
 github.com/fluxcd/pkg/apis/meta v1.12.0 
h1:XW15TKZieC2b7MN8VS85stqZJOx+/b8jATQ/xTUhVYg=
 github.com/fluxcd/pkg/apis/meta v1.12.0/go.mod 
h1:+son1Va60x2eiDcTwd7lcctbI6C+K3gM7R+ULmEq1SI=
-github.com/fluxcd/source-controller/api v1.6.0 
h1:IxfjUczJ2pzbXIef6iQ0RHEH4AYA9anJfTGK8dzwODM=
-github.com/fluxcd/source-controller/api v1.6.0/go.mod 
h1:ZJcAi0nemsnBxjVgmJl0WQzNvB0rMETxQMTdoFosmMw=
+github.com/fluxcd/source-controller/api v1.6.2 
h1:UmodAeqLIeF29HdTqf2GiacZyO+hJydJlepDaYsMvhc=
+github.com/fluxcd/source-controller/api v1.6.2/go.mod 
h1:ZJcAi0nemsnBxjVgmJl0WQzNvB0rMETxQMTdoFosmMw=
 github.com/foxcpp/go-mockdns v1.1.0 
h1:jI0rD8M0wuYAxL7r/ynTrCQQq0BVqfB99Vgk7DlmewI=
 github.com/foxcpp/go-mockdns v1.1.0/go.mod 
h1:IhLeSFGed3mJIAXPH2aiRQB+kqz7oqu8ld2qVbOu7Wk=
 github.com/frankban/quicktest v1.14.6 
h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
@@ -826,8 +826,8 @@
 golang.org/x/crypto v0.19.0/go.mod 
h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
 golang.org/x/crypto v0.22.0/go.mod 
h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
 golang.org/x/crypto v0.23.0/go.mod 
h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
-golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
-golang.org/x/crypto v0.39.0/go.mod 
h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
+golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
+golang.org/x/crypto v0.40.0/go.mod 
h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 
h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
 golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod 
h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
@@ -838,8 +838,8 @@
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
-golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
+golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg=
+golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -860,8 +860,8 @@
 golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
 golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
 golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
-golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
-golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
+golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
+golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
 golang.org/x/oauth2 v0.30.0/go.mod 
h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
@@ -872,8 +872,8 @@
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
-golang.org/x/sync v0.15.0/go.mod 
h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
+golang.org/x/sync v0.16.0/go.mod 
h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -908,8 +908,8 @@
 golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
-golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
+golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
@@ -918,8 +918,8 @@
 golang.org/x/term v0.17.0/go.mod 
h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
 golang.org/x/term v0.19.0/go.mod 
h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
 golang.org/x/term v0.20.0/go.mod 
h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
-golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
-golang.org/x/term v0.32.0/go.mod 
h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
+golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg=
+golang.org/x/term v0.33.0/go.mod 
h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -928,8 +928,8 @@
 golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/text v0.14.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/text v0.15.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
-golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
-golang.org/x/text v0.26.0/go.mod 
h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
+golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
+golang.org/x/text v0.27.0/go.mod 
h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
 golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
 golang.org/x/time v0.11.0/go.mod 
h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -943,8 +943,8 @@
 golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod 
h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/tools v0.1.12/go.mod 
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 golang.org/x/tools v0.6.0/go.mod 
h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
-golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
-golang.org/x/tools v0.33.0/go.mod 
h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
+golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
+golang.org/x/tools v0.34.0/go.mod 
h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1012,30 +1012,30 @@
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
 gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
-helm.sh/helm/v3 v3.18.3 h1:+cvyGKgs7Jt7BN3Klmb4SsG4IkVpA7GAZVGvMz6VO4I=
-helm.sh/helm/v3 v3.18.3/go.mod h1:wUc4n3txYBocM7S9RjTeZBN9T/b5MjffpcSsWEjSIpw=
+helm.sh/helm/v3 v3.18.4 h1:pNhnHM3nAmDrxz6/UC+hfjDY4yeDATQCka2/87hkZXQ=
+helm.sh/helm/v3 v3.18.4/go.mod h1:WVnwKARAw01iEdjpEkP7Ii1tT1pTPYfM1HsakFKM3LI=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod 
h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod 
h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-k8s.io/api v0.33.1 h1:tA6Cf3bHnLIrUK4IqEgb2v++/GYUtqiu9sRVk3iBXyw=
-k8s.io/api v0.33.1/go.mod h1:87esjTn9DRSRTD4fWMXamiXxJhpOIREjWOSjsW1kEHw=
-k8s.io/apiextensions-apiserver v0.33.1 
h1:N7ccbSlRN6I2QBcXevB73PixX2dQNIW0ZRuguEE91zI=
-k8s.io/apiextensions-apiserver v0.33.1/go.mod 
h1:uNQ52z1A1Gu75QSa+pFK5bcXc4hq7lpOXbweZgi4dqA=
-k8s.io/apimachinery v0.33.1 h1:mzqXWV8tW9Rw4VeW9rEkqvnxj59k1ezDUl20tFK/oM4=
-k8s.io/apimachinery v0.33.1/go.mod 
h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
-k8s.io/apiserver v0.33.1 h1:yLgLUPDVC6tHbNcw5uE9mo1T6ELhJj7B0geifra3Qdo=
-k8s.io/apiserver v0.33.1/go.mod h1:VMbE4ArWYLO01omz+k8hFjAdYfc3GVAYPrhP2tTKccs=
-k8s.io/cli-runtime v0.33.1 h1:TvpjEtF71ViFmPeYMj1baZMJR4iWUEplklsUQ7D3quA=
-k8s.io/cli-runtime v0.33.1/go.mod 
h1:9dz5Q4Uh8io4OWCLiEf/217DXwqNgiTS/IOuza99VZE=
-k8s.io/client-go v0.33.1 h1:ZZV/Ks2g92cyxWkRRnfUDsnhNn28eFpt26aGc8KbXF4=
-k8s.io/client-go v0.33.1/go.mod h1:JAsUrl1ArO7uRVFWfcj6kOomSlCv+JpvIsp6usAGefA=
-k8s.io/component-base v0.33.1 h1:EoJ0xA+wr77T+G8p6T3l4efT2oNwbqBVKR71E0tBIaI=
-k8s.io/component-base v0.33.1/go.mod 
h1:guT/w/6piyPfTgq7gfvgetyXMIh10zuXA6cRRm3rDuY=
+k8s.io/api v0.33.2 h1:YgwIS5jKfA+BZg//OQhkJNIfie/kmRsO0BmNaVSimvY=
+k8s.io/api v0.33.2/go.mod h1:fhrbphQJSM2cXzCWgqU29xLDuks4mu7ti9vveEnpSXs=
+k8s.io/apiextensions-apiserver v0.33.2 
h1:6gnkIbngnaUflR3XwE1mCefN3YS8yTD631JXQhsU6M8=
+k8s.io/apiextensions-apiserver v0.33.2/go.mod 
h1:IvVanieYsEHJImTKXGP6XCOjTwv2LUMos0YWc9O+QP8=
+k8s.io/apimachinery v0.33.2 h1:IHFVhqg59mb8PJWTLi8m1mAoepkUNYmptHsV+Z1m5jY=
+k8s.io/apimachinery v0.33.2/go.mod 
h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
+k8s.io/apiserver v0.33.2 h1:KGTRbxn2wJagJowo29kKBp4TchpO1DRO3g+dB/KOJN4=
+k8s.io/apiserver v0.33.2/go.mod h1:9qday04wEAMLPWWo9AwqCZSiIn3OYSZacDyu/AcoM/M=
+k8s.io/cli-runtime v0.33.2 h1:koNYQKSDdq5AExa/RDudXMhhtFasEg48KLS2KSAU74Y=
+k8s.io/cli-runtime v0.33.2/go.mod 
h1:gnhsAWpovqf1Zj5YRRBBU7PFsRc6NkEkwYNQE+mXL88=
+k8s.io/client-go v0.33.2 h1:z8CIcc0P581x/J1ZYf4CNzRKxRvQAwoAolYPbtQes+E=
+k8s.io/client-go v0.33.2/go.mod h1:9mCgT4wROvL948w6f6ArJNb7yQd7QsvqavDeZHvNmHo=
+k8s.io/component-base v0.33.2 h1:sCCsn9s/dG3ZrQTX/Us0/Sx2R0G5kwa0wbZFYoVp/+0=
+k8s.io/component-base v0.33.2/go.mod 
h1:/41uw9wKzuelhN+u+/C59ixxf4tYQKW7p32ddkYNe2k=
 k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
 k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
 k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff 
h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4=
 k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod 
h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
-k8s.io/kubectl v0.33.1 h1:OJUXa6FV5bap6iRy345ezEjU9dTLxqv1zFTVqmeHb6A=
-k8s.io/kubectl v0.33.1/go.mod h1:Z07pGqXoP4NgITlPRrnmiM3qnoo1QrK1zjw85Aiz8J0=
+k8s.io/kubectl v0.33.2 h1:7XKZ6DYCklu5MZQzJe+CkCjoGZwD1wWl7t/FxzhMz7Y=
+k8s.io/kubectl v0.33.2/go.mod h1:8rC67FB8tVTYraovAGNi/idWIK90z2CHFNMmGJZJ3KI=
 k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e 
h1:KqK5c/ghOm8xkHYhlodbp6i6+r+ChV2vuAuVRdFbLro=
 k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e/go.mod 
h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
 oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/core/engine/utils.go 
new/updatecli-0.104.0/pkg/core/engine/utils.go
--- old/updatecli-0.103.1/pkg/core/engine/utils.go      2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/core/engine/utils.go      2025-07-13 
08:25:50.000000000 +0200
@@ -15,6 +15,12 @@
 // a list of files that can be used as helpers.
 func sanitizeUpdatecliManifestFilePath(rawFilePaths []string) 
(sanitizedFilePaths, sanitizedPartialPaths []string) {
        for _, rawFilePath := range rawFilePaths {
+               // Only sanitize Updatecli manifest which are not partial 
manifests.
+               rawBaseFilePath := filepath.Base(rawFilePath)
+               if strings.HasPrefix(rawBaseFilePath, "_") {
+                       continue
+               }
+
                rawFileInfo, err := os.Stat(rawFilePath)
                if err != nil {
                        logrus.Error(fmt.Sprintf("Loading Updatecli manifest 
%q: %s", rawFilePath, err))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/bitbucket/main.go 
new/updatecli-0.104.0/pkg/plugins/scms/bitbucket/main.go
--- old/updatecli-0.103.1/pkg/plugins/scms/bitbucket/main.go    2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/bitbucket/main.go    2025-07-13 
08:25:50.000000000 +0200
@@ -101,6 +101,31 @@
        //    The working branch created by Updatecli looks like 
"updatecli_<pipelineID>".
        //    The working branch can be disabled using the "workingBranch" 
parameter set to false.
        Branch string `yaml:",omitempty"`
+       // WorkingBranchPrefix defines the prefix used to create a working 
branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   updatecli
+       //
+       // remark:
+       //   A working branch is composed of three components:
+       //   1. WorkingBranchPrefix
+       //   2. Target Branch
+       //   3. PipelineID
+       //
+       //   If WorkingBranchPrefix is set to '', then
+       //   the working branch will look like "<branch>_<pipelineID>".
+       WorkingBranchPrefix *string `yaml:",omitempty"`
+       // WorkingBranchSeparator defines the separator used to create a 
working branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   "_"
+       WorkingBranchSeparator *string `yaml:",omitempty"`
        //  "submodules" defines if Updatecli should checkout submodules.
        //
        //  compatible:
@@ -123,11 +148,13 @@
        // Spec contains inputs coming from updatecli configuration
        Spec Spec
        // client handle the api authentication
-       client           *scm.Client
-       pipelineID       string
-       nativeGitHandler gitgeneric.GitHandler
-       workingBranch    bool
-       force            bool
+       client                 *scm.Client
+       pipelineID             string
+       nativeGitHandler       gitgeneric.GitHandler
+       workingBranch          bool
+       workingBranchPrefix    string
+       workingBranchSeparator string
+       force                  bool
 }
 
 // New returns a new valid Bitbucket Cloud object.
@@ -163,6 +190,16 @@
                s.Branch = "main"
        }
 
+       workingBranchhPrefix := "updatecli"
+       if s.WorkingBranchPrefix != nil {
+               workingBranchhPrefix = *s.WorkingBranchPrefix
+       }
+
+       workingBranchSeparator := "_"
+       if s.WorkingBranchSeparator != nil {
+               workingBranchSeparator = *s.WorkingBranchSeparator
+       }
+
        workingBranch := true
        if s.WorkingBranch != nil {
                workingBranch = *s.WorkingBranch
@@ -200,12 +237,14 @@
 
        nativeGitHandler := gitgeneric.GoGit{}
        g := Bitbucket{
-               Spec:             s,
-               client:           c,
-               pipelineID:       pipelineID,
-               nativeGitHandler: &nativeGitHandler,
-               workingBranch:    workingBranch,
-               force:            force,
+               Spec:                   s,
+               client:                 c,
+               pipelineID:             pipelineID,
+               nativeGitHandler:       &nativeGitHandler,
+               workingBranch:          workingBranch,
+               workingBranchPrefix:    workingBranchhPrefix,
+               workingBranchSeparator: workingBranchSeparator,
+               force:                  force,
        }
 
        g.setDirectory()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/bitbucket/scm.go 
new/updatecli-0.104.0/pkg/plugins/scms/bitbucket/scm.go
--- old/updatecli-0.103.1/pkg/plugins/scms/bitbucket/scm.go     2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/bitbucket/scm.go     2025-07-13 
08:25:50.000000000 +0200
@@ -3,6 +3,7 @@
 import (
        "fmt"
        "os"
+       "strings"
 
        "github.com/sirupsen/logrus"
        "github.com/updatecli/updatecli/pkg/plugins/resources/bitbucket/client"
@@ -14,7 +15,8 @@
        targetBranch = b.Spec.Branch
 
        if len(b.pipelineID) > 0 && b.workingBranch {
-               workingBranch = 
b.nativeGitHandler.SanitizeBranchName(fmt.Sprintf("updatecli_%s_%s", 
targetBranch, b.pipelineID))
+               workingBranch = b.nativeGitHandler.SanitizeBranchName(
+                       strings.Join([]string{b.workingBranchPrefix, 
targetBranch, b.pipelineID}, b.workingBranchSeparator))
        }
 
        return sourceBranch, workingBranch, targetBranch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/git/main.go 
new/updatecli-0.104.0/pkg/plugins/scms/git/main.go
--- old/updatecli-0.103.1/pkg/plugins/scms/git/main.go  2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/git/main.go  2025-07-13 
08:25:50.000000000 +0200
@@ -59,6 +59,31 @@
        //              For more information, please refer to the following 
issue:
        //              https://github.com/updatecli/updatecli/issues/1139
        Branch string `yaml:",omitempty"`
+       // WorkingBranchPrefix defines the prefix used to create a working 
branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   updatecli
+       //
+       // remark:
+       //   A working branch is composed of three components:
+       //   1. WorkingBranchPrefix
+       //   2. Target Branch
+       //   3. PipelineID
+       //
+       //   If WorkingBranchPrefix is set to '', then
+       //   the working branch will look like "<branch>_<pipelineID>".
+       WorkingBranchPrefix *string `yaml:",omitempty"`
+       // WorkingBranchSeparator defines the separator used to create a 
working branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   "_"
+       WorkingBranchSeparator *string `yaml:",omitempty"`
        //      "user" specifies the user associated with new git commit 
messages created by Updatecli
        //
        //      compatible:
@@ -136,8 +161,10 @@
        // nativeGitHandler is the native git handler
        nativeGitHandler gitgeneric.GitHandler
        // workingBranch is used to create a temporary branch to work on.
-       workingBranch bool
-       pipelineID    string
+       workingBranch          bool
+       workingBranchPrefix    string
+       workingBranchSeparator string
+       pipelineID             string
 }
 
 // New returns a new git object
@@ -154,6 +181,16 @@
                s.Branch = "main"
        }
 
+       workingBranchPrefix := "updatecli"
+       if s.WorkingBranchPrefix != nil {
+               workingBranchPrefix = *s.WorkingBranchPrefix
+       }
+
+       workingBranchSeparator := "_"
+       if s.WorkingBranchSeparator != nil {
+               workingBranchSeparator = *s.WorkingBranchSeparator
+       }
+
        var workingBranch bool
        switch s.WorkingBranch {
        case nil:
@@ -181,10 +218,12 @@
        nativeGitHandler := gitgeneric.GoGit{}
 
        return &Git{
-               spec:             s,
-               nativeGitHandler: &nativeGitHandler,
-               workingBranch:    workingBranch,
-               pipelineID:       pipelineID,
+               spec:                   s,
+               nativeGitHandler:       &nativeGitHandler,
+               workingBranch:          workingBranch,
+               workingBranchPrefix:    workingBranchPrefix,
+               workingBranchSeparator: workingBranchSeparator,
+               pipelineID:             pipelineID,
        }, nil
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/git/scm.go 
new/updatecli-0.104.0/pkg/plugins/scms/git/scm.go
--- old/updatecli-0.103.1/pkg/plugins/scms/git/scm.go   2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/git/scm.go   2025-07-13 
08:25:50.000000000 +0200
@@ -1,8 +1,8 @@
 package git
 
 import (
-       "fmt"
        "os"
+       "strings"
 
        "github.com/sirupsen/logrus"
 )
@@ -13,7 +13,8 @@
        targetBranch = g.spec.Branch
 
        if g.workingBranch && len(g.pipelineID) > 0 {
-               workingBranch = 
g.nativeGitHandler.SanitizeBranchName(fmt.Sprintf("updatecli_%s_%s", 
targetBranch, g.pipelineID))
+               workingBranch = g.nativeGitHandler.SanitizeBranchName(
+                       strings.Join([]string{g.workingBranchPrefix, 
targetBranch, g.pipelineID}, g.workingBranchSeparator))
        }
 
        return sourceBranch, workingBranch, targetBranch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/gitea/main.go 
new/updatecli-0.104.0/pkg/plugins/scms/gitea/main.go
--- old/updatecli-0.103.1/pkg/plugins/scms/gitea/main.go        2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/gitea/main.go        2025-07-13 
08:25:50.000000000 +0200
@@ -101,6 +101,31 @@
        //    The working branch created by Updatecli looks like 
"updatecli_<pipelineID>".
        //        The working branch can be disabled using the "workingBranch" 
parameter set to false.
        Branch string `yaml:",omitempty"`
+       // WorkingBranchPrefix defines the prefix used to create a working 
branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   updatecli
+       //
+       // remark:
+       //   A working branch is composed of three components:
+       //   1. WorkingBranchPrefix
+       //   2. Target Branch
+       //   3. PipelineID
+       //
+       //   If WorkingBranchPrefix is set to '', then
+       //   the working branch will look like "<branch>_<pipelineID>".
+       WorkingBranchPrefix *string `yaml:",omitempty"`
+       // WorkingBranchSeparator defines the separator used to create a 
working branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   "_"
+       WorkingBranchSeparator *string `yaml:",omitempty"`
        //  "submodules" defines if Updatecli should checkout submodules.
        //
        //  compatible:
@@ -123,11 +148,13 @@
        // Spec contains inputs coming from updatecli configuration
        Spec Spec
        // client handle the api authentication
-       client           client.Client
-       nativeGitHandler gitgeneric.GitHandler
-       pipelineID       string
-       workingBranch    bool
-       force            bool
+       client                 client.Client
+       nativeGitHandler       gitgeneric.GitHandler
+       pipelineID             string
+       workingBranch          bool
+       workingBranchPrefix    string
+       workingBranchSeparator string
+       force                  bool
 }
 
 // New returns a new valid Gitea object.
@@ -177,6 +204,16 @@
                workingBranch = *s.WorkingBranch
        }
 
+       workingBranchPrefix := "updatecli"
+       if s.WorkingBranchPrefix != nil {
+               workingBranchPrefix = *s.WorkingBranchPrefix
+       }
+
+       workingBranchSeparator := "_"
+       if s.WorkingBranchSeparator != nil {
+               workingBranchSeparator = *s.WorkingBranchSeparator
+       }
+
        force := true
        if s.Force != nil {
                force = *s.Force
@@ -215,12 +252,14 @@
 
        nativeGitHandler := gitgeneric.GoGit{}
        g := Gitea{
-               Spec:             s,
-               client:           c,
-               pipelineID:       pipelineID,
-               nativeGitHandler: &nativeGitHandler,
-               workingBranch:    workingBranch,
-               force:            force,
+               Spec:                   s,
+               client:                 c,
+               pipelineID:             pipelineID,
+               nativeGitHandler:       &nativeGitHandler,
+               workingBranch:          workingBranch,
+               workingBranchPrefix:    workingBranchPrefix,
+               workingBranchSeparator: workingBranchSeparator,
+               force:                  force,
        }
 
        g.setDirectory()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/gitea/scm.go 
new/updatecli-0.104.0/pkg/plugins/scms/gitea/scm.go
--- old/updatecli-0.103.1/pkg/plugins/scms/gitea/scm.go 2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/gitea/scm.go 2025-07-13 
08:25:50.000000000 +0200
@@ -3,6 +3,7 @@
 import (
        "fmt"
        "os"
+       "strings"
 
        "github.com/sirupsen/logrus"
 )
@@ -14,7 +15,8 @@
        targetBranch = g.Spec.Branch
 
        if len(g.pipelineID) > 0 && g.workingBranch {
-               workingBranch = 
g.nativeGitHandler.SanitizeBranchName(fmt.Sprintf("updatecli_%s_%s", 
targetBranch, g.pipelineID))
+               workingBranch = g.nativeGitHandler.SanitizeBranchName(
+                       strings.Join([]string{g.workingBranchPrefix, 
targetBranch, g.pipelineID}, g.workingBranchSeparator))
        }
 
        return sourceBranch, workingBranch, targetBranch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/github/main.go 
new/updatecli-0.104.0/pkg/plugins/scms/github/main.go
--- old/updatecli-0.103.1/pkg/plugins/scms/github/main.go       2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/github/main.go       2025-07-13 
08:25:50.000000000 +0200
@@ -43,6 +43,31 @@
        //    The working branch created by Updatecli looks like 
"updatecli_<pipelineID>".
        //    The working branch can be disabled using the "workingBranch" 
parameter set to false.
        Branch string `yaml:",omitempty"`
+       // WorkingBranchPrefix defines the prefix used to create a working 
branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   updatecli
+       //
+       // remark:
+       //   A working branch is composed of three components:
+       //   1. WorkingBranchPrefix
+       //   2. Target Branch
+       //   3. PipelineID
+       //
+       //   If WorkingBranchPrefix is set to '', then
+       //   the working branch will look like "<branch>_<pipelineID>".
+       WorkingBranchPrefix *string `yaml:",omitempty"`
+       // WorkingBranchSeparator defines the separator used to create a 
working branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   "_"
+       WorkingBranchSeparator *string `yaml:",omitempty"`
        //  "directory" defines the local path where the git repository is 
cloned.
        //
        //  compatible:
@@ -166,12 +191,14 @@
 type Github struct {
        force bool
        // Spec contains inputs coming from updatecli configuration
-       Spec             Spec
-       pipelineID       string
-       client           GitHubClient
-       nativeGitHandler gitgeneric.GitHandler
-       workingBranch    bool
-       commitUsingApi   bool
+       Spec                   Spec
+       pipelineID             string
+       client                 GitHubClient
+       nativeGitHandler       gitgeneric.GitHandler
+       workingBranch          bool
+       workingBranchPrefix    string
+       workingBranchSeparator string
+       commitUsingApi         bool
 }
 
 // Repository contains GitHub repository data
@@ -240,6 +267,16 @@
                workingBranch = *s.WorkingBranch
        }
 
+       workingBranchPrefix := "updatecli"
+       if s.WorkingBranchPrefix != nil {
+               workingBranchPrefix = *s.WorkingBranchPrefix
+       }
+
+       workingBranchSeparator := "_"
+       if s.WorkingBranchSeparator != nil {
+               workingBranchSeparator = *s.WorkingBranchSeparator
+       }
+
        force := true
        if s.Force != nil {
                force = *s.Force
@@ -271,12 +308,14 @@
        }
 
        g := Github{
-               force:            force,
-               Spec:             s,
-               pipelineID:       pipelineID,
-               nativeGitHandler: &nativeGitHandler,
-               workingBranch:    workingBranch,
-               commitUsingApi:   commitUsingApi,
+               force:                  force,
+               Spec:                   s,
+               pipelineID:             pipelineID,
+               nativeGitHandler:       &nativeGitHandler,
+               workingBranch:          workingBranch,
+               workingBranchPrefix:    workingBranchPrefix,
+               workingBranchSeparator: workingBranchSeparator,
+               commitUsingApi:         commitUsingApi,
        }
 
        if strings.HasSuffix(s.URL, "github.com") {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/github/scm.go 
new/updatecli-0.104.0/pkg/plugins/scms/github/scm.go
--- old/updatecli-0.103.1/pkg/plugins/scms/github/scm.go        2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/github/scm.go        2025-07-13 
08:25:50.000000000 +0200
@@ -5,6 +5,7 @@
        "fmt"
        "net/url"
        "os"
+       "strings"
 
        "github.com/shurcooL/githubv4"
        "github.com/sirupsen/logrus"
@@ -17,7 +18,8 @@
        targetBranch = g.Spec.Branch
 
        if len(g.pipelineID) > 0 && g.workingBranch {
-               workingBranch = 
g.nativeGitHandler.SanitizeBranchName(fmt.Sprintf("updatecli_%s_%s", 
targetBranch, g.pipelineID))
+               workingBranch = g.nativeGitHandler.SanitizeBranchName(
+                       strings.Join([]string{g.workingBranchPrefix, 
targetBranch, g.pipelineID}, g.workingBranchSeparator))
        }
 
        return sourceBranch, workingBranch, targetBranch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/gitlab/main.go 
new/updatecli-0.104.0/pkg/plugins/scms/gitlab/main.go
--- old/updatecli-0.103.1/pkg/plugins/scms/gitlab/main.go       2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/gitlab/main.go       2025-07-13 
08:25:50.000000000 +0200
@@ -106,6 +106,31 @@
        //    The working branch created by Updatecli looks like 
"updatecli_<pipelineID>".
        //        The working branch can be disabled using the "workingBranch" 
parameter set to false.
        Branch string `yaml:",omitempty"`
+       // WorkingBranchPrefix defines the prefix used to create a working 
branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   updatecli
+       //
+       // remark:
+       //   A working branch is composed of three components:
+       //   1. WorkingBranchPrefix
+       //   2. Target Branch
+       //   3. PipelineID
+       //
+       //   If WorkingBranchPrefix is set to '', then
+       //   the working branch will look like "<branch>_<pipelineID>".
+       WorkingBranchPrefix *string `yaml:",omitempty"`
+       // WorkingBranchSeparator defines the separator used to create a 
working branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   "_"
+       WorkingBranchSeparator *string `yaml:",omitempty"`
        //  "submodules" defines if Updatecli should checkout submodules.
        //
        //  compatible:
@@ -133,8 +158,10 @@
        // pipelineID is used to create a unique working branch
        pipelineID string
        // nativeGitHandler is used to interact with the local git repository
-       nativeGitHandler gitgeneric.GitHandler
-       workingBranch    bool
+       nativeGitHandler       gitgeneric.GitHandler
+       workingBranch          bool
+       workingBranchPrefix    string
+       workingBranchSeparator string
 }
 
 // New returns a new valid GitLab object.
@@ -176,6 +203,16 @@
                workingBranch = *s.WorkingBranch
        }
 
+       workingBranchPrefix := "updatecli"
+       if s.WorkingBranchPrefix != nil {
+               workingBranchPrefix = *s.WorkingBranchPrefix
+       }
+
+       workingBranchSeparator := "_"
+       if s.WorkingBranchSeparator != nil {
+               workingBranchSeparator = *s.WorkingBranchSeparator
+       }
+
        force := true
        if s.Force != nil {
                force = *s.Force
@@ -209,12 +246,14 @@
 
        nativeGitHandler := gitgeneric.GoGit{}
        g := Gitlab{
-               force:            force,
-               Spec:             s,
-               client:           c,
-               pipelineID:       pipelineID,
-               nativeGitHandler: &nativeGitHandler,
-               workingBranch:    workingBranch,
+               force:                  force,
+               Spec:                   s,
+               client:                 c,
+               pipelineID:             pipelineID,
+               nativeGitHandler:       &nativeGitHandler,
+               workingBranch:          workingBranch,
+               workingBranchPrefix:    workingBranchPrefix,
+               workingBranchSeparator: workingBranchSeparator,
        }
 
        g.setDirectory()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/gitlab/scm.go 
new/updatecli-0.104.0/pkg/plugins/scms/gitlab/scm.go
--- old/updatecli-0.103.1/pkg/plugins/scms/gitlab/scm.go        2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/gitlab/scm.go        2025-07-13 
08:25:50.000000000 +0200
@@ -3,6 +3,7 @@
 import (
        "fmt"
        "os"
+       "strings"
 
        "github.com/sirupsen/logrus"
        "github.com/updatecli/updatecli/pkg/plugins/resources/gitlab/client"
@@ -15,7 +16,8 @@
        targetBranch = g.Spec.Branch
 
        if len(g.pipelineID) > 0 && g.workingBranch {
-               workingBranch = 
g.nativeGitHandler.SanitizeBranchName(fmt.Sprintf("updatecli_%s_%s", 
targetBranch, g.pipelineID))
+               workingBranch = g.nativeGitHandler.SanitizeBranchName(
+                       strings.Join([]string{g.workingBranchPrefix, 
targetBranch, g.pipelineID}, g.workingBranchSeparator))
        }
 
        return sourceBranch, workingBranch, targetBranch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/stash/main.go 
new/updatecli-0.104.0/pkg/plugins/scms/stash/main.go
--- old/updatecli-0.103.1/pkg/plugins/scms/stash/main.go        2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/stash/main.go        2025-07-13 
08:25:50.000000000 +0200
@@ -101,6 +101,31 @@
        //    The working branch created by Updatecli looks like 
"updatecli_<pipelineID>".
        //    The working branch can be disabled using the "workingBranch" 
parameter set to false.
        Branch string `yaml:",omitempty"`
+       // WorkingBranchPrefix defines the prefix used to create a working 
branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   updatecli
+       //
+       // remark:
+       //   A working branch is composed of three components:
+       //   1. WorkingBranchPrefix
+       //   2. Target Branch
+       //   3. PipelineID
+       //
+       //   If WorkingBranchPrefix is set to '', then
+       //   the working branch will look like "<branch>_<pipelineID>".
+       WorkingBranchPrefix *string `yaml:",omitempty"`
+       // WorkingBranchSeparator defines the separator used to create a 
working branch.
+       //
+       // compatible:
+       //   * scm
+       //
+       // default:
+       //   "_"
+       WorkingBranchSeparator *string `yaml:",omitempty"`
        //  "submodules" defines if Updatecli should checkout submodules.
        //
        //  compatible:
@@ -123,11 +148,13 @@
        // Spec contains inputs coming from updatecli configuration
        Spec Spec
        // client handle the api authentication
-       client           client.Client
-       pipelineID       string
-       nativeGitHandler gitgeneric.GitHandler
-       workingBranch    bool
-       force            bool
+       client                 client.Client
+       pipelineID             string
+       nativeGitHandler       gitgeneric.GitHandler
+       workingBranch          bool
+       workingBranchPrefix    string
+       workingBranchSeparator string
+       force                  bool
 }
 
 // New returns a new valid Bitbucket Server object.
@@ -178,6 +205,16 @@
                workingBranch = *s.WorkingBranch
        }
 
+       workingBranchPrefix := "updatecli"
+       if s.WorkingBranchPrefix != nil {
+               workingBranchPrefix = *s.WorkingBranchPrefix
+       }
+
+       workingBranchSeparator := "_"
+       if s.WorkingBranchSeparator != nil {
+               workingBranchSeparator = *s.WorkingBranchSeparator
+       }
+
        force := true
        if s.Force != nil {
                force = *s.Force
@@ -210,12 +247,14 @@
 
        nativeGitHandler := gitgeneric.GoGit{}
        g := Stash{
-               Spec:             s,
-               client:           c,
-               pipelineID:       pipelineID,
-               nativeGitHandler: &nativeGitHandler,
-               workingBranch:    workingBranch,
-               force:            force,
+               Spec:                   s,
+               client:                 c,
+               pipelineID:             pipelineID,
+               nativeGitHandler:       &nativeGitHandler,
+               workingBranch:          workingBranch,
+               workingBranchPrefix:    workingBranchPrefix,
+               workingBranchSeparator: workingBranchSeparator,
+               force:                  force,
        }
 
        g.setDirectory()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/pkg/plugins/scms/stash/scm.go 
new/updatecli-0.104.0/pkg/plugins/scms/stash/scm.go
--- old/updatecli-0.103.1/pkg/plugins/scms/stash/scm.go 2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/scms/stash/scm.go 2025-07-13 
08:25:50.000000000 +0200
@@ -3,6 +3,7 @@
 import (
        "fmt"
        "os"
+       "strings"
 
        "github.com/sirupsen/logrus"
 )
@@ -13,7 +14,8 @@
        targetBranch = s.Spec.Branch
 
        if len(s.pipelineID) > 0 && s.workingBranch {
-               workingBranch = 
s.nativeGitHandler.SanitizeBranchName(fmt.Sprintf("updatecli_%s_%s", 
targetBranch, s.pipelineID))
+               workingBranch = s.nativeGitHandler.SanitizeBranchName(
+                       strings.Join([]string{s.workingBranchPrefix, 
targetBranch, s.pipelineID}, s.workingBranchSeparator))
        }
 
        return sourceBranch, workingBranch, targetBranch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/updatecli-0.103.1/pkg/plugins/utils/gitgeneric/main.go 
new/updatecli-0.104.0/pkg/plugins/utils/gitgeneric/main.go
--- old/updatecli-0.103.1/pkg/plugins/utils/gitgeneric/main.go  2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/pkg/plugins/utils/gitgeneric/main.go  2025-07-13 
08:25:50.000000000 +0200
@@ -685,7 +685,7 @@
        }
 
        replacedByUnderscore := []string{
-               "/", "\\", "{", "}", "[", "]",
+               "\\", "{", "}", "[", "]",
        }
 
        for _, character := range removedCharacter {
@@ -695,9 +695,12 @@
                branch = strings.ReplaceAll(branch, character, "_")
        }
 
+       branch = strings.TrimPrefix(branch, "/")
+
        if len(branch) > 255 {
                return branch[0:255]
        }
+
        return branch
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/updatecli-0.103.1/updatecli/updatecli.d/venom.yaml 
new/updatecli-0.104.0/updatecli/updatecli.d/venom.yaml
--- old/updatecli-0.103.1/updatecli/updatecli.d/venom.yaml      2025-07-08 
17:50:13.000000000 +0200
+++ new/updatecli-0.104.0/updatecli/updatecli.d/venom.yaml      2025-07-13 
08:25:50.000000000 +0200
@@ -21,6 +21,8 @@
       token: '{{ requiredEnv "GITHUB_TOKEN" }}'
       user: "{{ .scm.user }}"
       username: '{{ requiredEnv "GITHUB_ACTOR" }}'
+      workingbranchprefix: "deps"
+      workingbranchseparator: '/'
     disabled: false
 sources:
   latestVersion:
@@ -33,6 +35,7 @@
       username: '{{ requiredEnv "GITHUB_ACTOR" }}'
       versionfilter:
         kind: semver
+        pattern: "<1"
 targets:
   goWorkflow:
     name: 'ci: update Venom version to {{ source "latestVersion" }}'

++++++ updatecli.obsinfo ++++++
--- /var/tmp/diff_new_pack.gs03H4/_old  2025-07-14 10:57:52.787996934 +0200
+++ /var/tmp/diff_new_pack.gs03H4/_new  2025-07-14 10:57:52.823998427 +0200
@@ -1,5 +1,5 @@
 name: updatecli
-version: 0.103.1
-mtime: 1751989813
-commit: 7ecaffd7f134d85fc4481f194372d1d52c4dbe08
+version: 0.104.0
+mtime: 1752387950
+commit: ca9e27fe59af8a55ea3dde94a7e8a0bfe35b4655
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/updatecli/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.updatecli.new.7373/vendor.tar.gz differ: char 13, 
line 1

Reply via email to