.svn folder getting checked out

22 views
Skip to first unread message

Ven H

unread,
Dec 24, 2020, 1:27:47 PM12/24/20
to jenkins...@googlegroups.com
I have a pipeline script in Jenkinsfile which is in SVN. It has the following checkout step.

checkout([$class: 'SubversionSCM', filterChangelog: false, ignoreDirPropChanges: false,  locations: [[cancelProcessOnExternalsFail: true, credentialsId: "<SVN_credentials>", depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: "<Source_URL>"]], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])

This is working fine in a Jenkins environment (master & slaves)  on Windows. Now we are moving to a Jenkins master on a Docker container hosted in a Linux environment. The slaves are still Windows servers since the Application code is in .Net. 

The Source code is in SVN. After moving to the new Jenkins instance, we are facing a weird issue. The checkout step is somehow getting .svn folders also downloaded into the workspace, which was not happening in the earlier Jenkins environment. Not sure what is wrong. Can anyone please help?

Regards,
Venkatesh

Baptiste Mathus

unread,
Dec 25, 2020, 7:53:29 AM12/25/20
to jenkins...@googlegroups.com
Not sure what exactly you're concerned about:

Subversion always had this .svn folder. Since 1.7 it's only at the root of the checked out repo.
Before svn 1.7 it was literally in all directories.

This is expected.

If you're surprised more by the latter behavior described above, maybe your agent is having a pre-1.7 svn binaries?

PS : we don't use the term 'slave' anymore for agents since 2016. And master got replaced by controller earlier this year.
Thanks.


--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAPp28epn9bDrJW6deQCtVNh2M8GYr1vvPM9vjevwDGKym%2Bhaug%40mail.gmail.com.

Ven H

unread,
Dec 25, 2020, 12:57:24 PM12/25/20
to jenkins...@googlegroups.com
Thank you for your response. SVN version has not changed in our case. Our controller has changed. It's a newer version of Jenkins. The older version was hosted on Windows and the newer version is hosted in a Docker container in a Linux environment. 

The checkout step in the pipeline didn't download the .svn folders in the earlier (or older) Jenkins instance, whereas it is doing it in the newer Jenkins instance. SVN has not changed at all. Hope I have explained the problem statement correctly.

Regards,
Venkatesh


Martin Schmude

unread,
Dec 25, 2020, 2:18:24 PM12/25/20
to Jenkins Users
SVN does not download .svn folders, it creates them while performing a checkout.
With the older Jenkins instance every SVN checkout must have created a .svn folder too. Maybe you just didn't take note of them before the switch to your newer Jenkins instance, for whatever reason.

Ven H

unread,
Dec 26, 2020, 11:07:16 AM12/26/20
to jenkins...@googlegroups.com
I am pretty sure, it didn't create those folders in the old instance. We still have the old instance running since we are in the process of transitioning. I don't see those folders there. That's why I raised this query.

Regards,
Venkatesh


Baptiste Mathus

unread,
Dec 26, 2020, 1:11:02 PM12/26/20
to jenkins...@googlegroups.com
On Windows or Linux?

On Linux it will require ls -a to show them.

Please check and provide svn versions and OS on various cases.

Or possibly, you've been using 'svn export' in some cases. I don't know. You're the one best positioned to check 😉

Ven H

unread,
Dec 28, 2020, 2:55:55 AM12/28/20
to jenkins...@googlegroups.com
Thanks a lot for your response. PFB the details below.

Server / Software Old New
Jenkins 2.163 2.257
Jenkins Controller Windows Server 2012 R2 Ubuntu 18.04.3
Jenkins Agent Windows Server 2019 Standard Windows Server 2019 Standard
SVN Version 1.6.2 1.6.2

Regards,
Venkatesh


Baptiste Mathus

unread,
Dec 29, 2020, 5:01:34 AM12/29/20
to jenkins...@googlegroups.com
You should double check your svn plugin config and the platform you're checking on as I said.
Also, wondering whether your config is actually using the svn binaries or javasvn (disclaimer: not sure it's still a thing, I've totally moved away from even seeing an svn use from inside Jenkins 4+ years ago)

On Linux, ls will *not* show the .svn folders but they're still present.

Given you're using svn pre-1.7 there'll be such a folder in all folders in the local repository.

Cheers

Martin Schmude

unread,
Dec 30, 2020, 10:12:51 AM12/30/20
to Jenkins Users
I think you need not worry about the .svn folders that you observe in your current setup. You should worry why you did not note them in the former setup.
When investigating before/after issues like this, comparison of Jenkins job logs before and after a modification had been helpful to me in the past.

So, if possible, execute the same Jenkins job on the former and on the current setup once. Then compare their job logs, located in <jenkins-host>:<jenkins-port>/job/<job-name>/<build-number>/console.
You will find the SVN commands there by searching for "svn".
Do they look similar? Where have they been executed? On the Jenkins master or on a node?


Reply all
Reply to author
Forward
0 new messages