Take a little ok at the clone and checkout 
traits 
https://javadoc.jenkins.io/plugin/git/jenkins/plugins/git/traits/package-summary.html

It would appear that you should be able to do this with a new trait.

Regards

/James
On Saturday, 11 January 2025 at 14:52:31 UTC [email protected] 
wrote:

> Hi Mark
>
> On Sat, Jan 11, 2025 at 3:16 PM Mark Waite <[email protected]> wrote:
> >
> >
> >
> > On Saturday, January 11, 2025 at 4:22:58 AM UTC-7 Michael wrote:
> >
> > Hi all
> >
> > Is it possible to use git clone from sh context but then populate as I
> > had clone using gitscm?
> >
> >
> > Not really. Maybe you could approximate it by calling checkout scm with 
> parameters that try to duplicate your git clone parameters and use the 
> return value from checkout scm.
> >
>
> Right now what I'm trying to do is something like this and change groovy 
> library
>
> - def git_opts = history ? '--filter=tree:0' : '--depth 1'
> + def depth = history ? 0 : 1
> def updateRepository = {
> - if (context.fileExists(directory)) {
> - context.dir(directory) {
> - context.sh """
> - git remote remove origin
> - git remote add origin ${url}
> - git remote set-branches --add origin ${branch}
> - git fetch origin ${branch} ${git_opts}
> - git reset --hard FETCH_HEAD
> - """
> - }
> - } else {
> - context.sh "git clone ${git_opts} --branch ${branch}
> ${url} ${directory}"
> - }
> + context.checkout(
> + changelog: true,
> + poll: false,
> + scm: [
> + $class: 'GitSCM',
> + branches: [[name: "*/${branch}"]],
> + extensions: [
> + [$class: 'cleanAfterCheckout',
> deleteUntrackedNestedRepositories: true],
> + [$class: 'RelativeTargetDirectory',
> relativeTargetDir: "${directory}"],
> + [$class: 'CloneOption', depth: "${depth}",
> honorRefspec: true, noTags: false, \
> + reference: "${directory}", shallow:
> depth > 0 ? true : false
> + ]
> + ],
> + userRemoteConfigs: [
> + [credentialsId: "${credentials}", url: "${url}"]
> + ]
> + ]
> + )
> }
>
>
> This is not exactly the same (by the way needs to be tested) but using
> gitscm I have a lot more features. Would be nice to allow
> gitscm to re-evaluate some already checkout or already .git on
> filesystem to calculate the data. Looking at several plugins does not
> sound very easy. The reason that I'm moving to using gitscm is to
> integrate plugins like git-forensic etc. I have found gitSCM really
> nice
> but could be a bit limited if you are trying to have more git
> flexibility. Like in this case I can not use --filter=tree:0'
>
> Michael
>
>
> > Mark Waite
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "Jenkins Developers" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected].
> > To view this discussion visit 
> https://groups.google.com/d/msgid/jenkinsci-dev/ea47d6bd-097f-41b2-a223-ae42d1277853n%40googlegroups.com
> .
>
>
>
> -- 
> Michael Nazzareno Trimarchi
> Co-Founder & Chief Executive Officer
> M. +39 347 913 2170 <+39%20347%20913%202170>
> [email protected]
> __________________________________
>
> Amarula Solutions BV
> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> T. +31 (0)85 111 9172 <+31%2085%20111%209172>
> [email protected]
> www.amarulasolutions.com
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/jenkinsci-dev/4fb0794a-e327-42f8-864f-886bf1ab3f97n%40googlegroups.com.

Reply via email to