Using svn export instead of svn checkout

1,538 views
Skip to first unread message

Asmann, Roland

unread,
Feb 23, 2012, 6:40:54 AM2/23/12
to jenkins...@googlegroups.com
Hi all,

Would it be possible to use 'svn export' instead of 'svn checkout'?
We have a couple of projects that contain very large files, which are
then obviously saved twice on the Server -- once as the actual file and
once as the bas-version for SVN.

Since we don't check-in stuff from Jenkins, we would definitely benefit
in both performance and disc usage when getting our project using 'svn
export'. Can this be added to the svn-plugin as one of the options?

Thanks,

Roland

--
Roland Asmann
Senior Software Engineer

adesso Austria GmbH
Floridotower 26. Stock T +43 1 2198790-27
Floridsdorfer Hauptstr. 1 F +43 1 2198790-927
A-1210 Wien M +43 664 88657566
E roland...@adesso.at
W www.adesso.at

-------------------------------------------------------------
>>> business. people. technology. <<<
-------------------------------------------------------------

Didier Durand

unread,
Feb 23, 2012, 7:37:19 AM2/23/12
to Jenkins Users
Hi,

Even if checkout was possible, I don't think that it is a good idea
from a perf standpoint: if you export a file, it gets out of svn
control and the changes cannot be tracked.

So, next time your run the job, you have to do a full export again
even if the file didn't change inbetween: can take a long time for a
big file.

So, as disk space is cheap, I would prefer several copies rather than
the network burden (and corresponding delay to start) of a big file

regards

didier

On Feb 23, 12:40 pm, "Asmann, Roland" <Roland.Asm...@adesso.at> wrote:
> Hi all,
>
> Would it be possible to use 'svn export' instead of 'svn checkout'?
> We have a couple of projects that contain very large files, which are
> then obviously saved twice on the Server -- once as the actual file and
> once as the bas-version for SVN.
>
> Since we don't check-in stuff from Jenkins, we would definitely benefit
> in both performance and disc usage when getting our project using 'svn
> export'. Can this be added to the svn-plugin as one of the options?
>
> Thanks,
>
> Roland
>
> --
> Roland Asmann
> Senior Software Engineer
>
> adesso Austria GmbH
> Floridotower 26. Stock              T +43 1 2198790-27
> Floridsdorfer Hauptstr. 1           F +43 1 2198790-927
> A-1210 Wien                         M +43 664 88657566
>                                     E roland.asm...@adesso.at
>                                     Wwww.adesso.at

Asmann, Roland

unread,
Feb 23, 2012, 7:53:26 AM2/23/12
to jenkins...@googlegroups.com
Since we already use the clean checkout option, I don't see where the
performance can be gained.

As for tracing changes, I don't care about those on a build-server! The
only purpose of a build-server is to check out the code, build it and
report on that. If your build-server is making changes and checking
those in, you are not using it in the right way!

Disk space is cheap? I don't know in what company YOU work and if YOU
can decide on buying more space, I have to fight for every MB of extra
space I need and it takes months before it is finally decided IF I will
even get it.

I am not asking for the export option as the default or for getting rid
of the checkout, I am just asking to add it as an alternative -- just
like the other options that are already in the list!

Roland

E roland...@adesso.at
W www.adesso.at

Didier Durand

unread,
Feb 23, 2012, 11:12:11 AM2/23/12
to Jenkins Users
Hi,

please, keep cool .....

The reason for checkout rather than export is to track and obtain
changes in your big files from subversion to your jenkins server but
only when they've effectively changed not each time you run the build
as you will incurr with export. But, it seems you won't hear that.

by the way, don't worry for the quality of my build server: it works
just perfect with the appropriate use of svn ;-)

regards

didier

Les Mikesell

unread,
Feb 23, 2012, 11:36:42 AM2/23/12
to jenkins...@googlegroups.com
On Thu, Feb 23, 2012 at 6:53 AM, Asmann, Roland <Roland...@adesso.at> wrote:
>
> As for tracing changes, I don't care about those on a build-server! The
> only purpose of a build-server is to check out the code, build it and
> report on that. If your build-server is making changes and checking
> those in, you are not using it in the right way!

Actually, tagging/promoting in jenkins _after_ successful automated
builds/tests is a pretty nice touch.

--
Les Mikesell
lesmi...@gmail.com

Sami Tikka

unread,
Feb 23, 2012, 12:39:54 PM2/23/12
to jenkins...@googlegroups.com
It seems there aren't many people who have need for that feature. You can still open a ticket with a feature request in the Jenkins issue tracker.

If no one steps up to the task, your only option is to implement it yourself or hire someone to do it for you. There are also commercial versions of Jenkins. Maybe the vendors are more receptive to your needs?

I know disk space is not cheap if the disk is inside an expensive and slow enterprise SAN. I know many teams that have gone rogue on their organization and set up their own CI server outside of IT department control and have been happy with it. If you buy an off the shelf disk, 1 TB really is cheap.

Oh, by the way. You can configure a job to have no SCM. Then you can do the checkout yourself in the build step and use whatever command you want.

-- Sami

Les Mikesell

unread,
Feb 23, 2012, 1:13:12 PM2/23/12
to jenkins...@googlegroups.com
On Thu, Feb 23, 2012 at 11:39 AM, Sami Tikka <sjt...@gmail.com> wrote:
>
> I know disk space is not cheap if the disk is inside an expensive and slow enterprise SAN. I know many teams that have gone rogue on their organization and set up their own CI server outside of IT department control and have been happy with it. If you buy an off the shelf disk, 1 TB really is cheap.

There's really not much reason to spend extra for reliability on the
slaves - everything should be in your SCM and the working copies are
disposable - a local SATA, or even a VM with the entire image on a
local SATA works fine.

--
Les Mikesell
lesmi...@gmail.com

Jim McCaskey

unread,
Feb 23, 2012, 2:00:51 PM2/23/12
to jenkins...@googlegroups.com
FWIW: This request has been open for a few years:

https://issues.jenkins-ci.org/browse/JENKINS-1304

Your concerns is disk space, my concern is speed of checkout. Export can be much faster on a very large tree. Like you I do clean checkouts so any of the other concerns don't apply for me. Maybe make it an option only when clean checkouts are done?

-Jim

Terry....@csiro.au

unread,
Feb 23, 2012, 6:30:31 PM2/23/12
to jenkins...@googlegroups.com
svn export would take less disk space, but switching to another VCS alltogether may be what you want for speed.

While I personally believe that svn forces you to get the governance of a code base right, I think git dodges that entirely (thats why linux kernel developers like it). However, git considerably outperforms svn in checkout speed and space needed on disk.

Its your call - if you are going for speed or space, is the minor step up from check out to export really helping that?

Terry Rankine

________________________________________
From: jenkins...@googlegroups.com [jenkins...@googlegroups.com] On Behalf Of Jim McCaskey [jim.mc...@pervasive.com]
Sent: Friday, 24 February 2012 3:00 AM
To: 'jenkins...@googlegroups.com'
Subject: RE: Using svn export instead of svn checkout

Reply all
Reply to author
Forward
0 new messages