Checking out whole repository with each build?

Is TeamCity supposed to do this? My version is. Rather than using the Perforce 'sync' command to sync up the client, it is chacking the whole client out again. This makes using it over a network not very viable.

- Gary

8 comments
Comment actions Permalink

If you're using "checkout sources automatically" option agent does not sync
any projects (you can do not install p4 on agents at all) but server builds
patch (accordong to previous ang current agent versions) and sends it to the
agent.

If 'clean all files before build' option is enabled the whole project will
be sent.

"Gary Evesson" <gary@decentrix.com> wrote in message
news:7758949.1153086943705.JavaMail.itn@is.intellij.net...

Is TeamCity supposed to do this? My version is. Rather than using the
Perforce 'sync' command to sync up the client, it is chacking the whole
client out again. This makes using it over a network not very viable.

>

- Gary



0
Comment actions Permalink

If you're using "checkout sources automatically"
option agent does not sync
any projects (you can do not install p4 on agents at
all) but server builds
patch (accordong to previous ang current agent
versions) and sends it to the
agent.


Does this mean that the server checks out the complete tree again if this option is set? I need the server or build agent to use a sync. I have a WAN between the Perforce server and the build agent so I want it to sync rather than check out the whole repository for each build.


If 'clean all files before build' option is enabled
the whole project will
be sent.

"Gary Evesson" <gary@decentrix.com> wrote in message
news:7758949.1153086943705.JavaMail.itn@is.intellij.ne
t...

Is TeamCity supposed to do this? My version is.

Rather than using the

Perforce 'sync' command to sync up the client, it

is chacking the whole

client out again. This makes using it over a

network not very viable.
>

- Gary

>

0
Comment actions Permalink

'checkout sources automatically' disabled - you have to sync sources from an
ant script

'checkout sources automatically' enabled, 'clean all files...' disabled -
server builds patch (it doesn't send all files, only changed)

'checkout sources automatically' enabled, 'clean all files...' enabled -
server sends all files

"Gary Evesson" <gary@decentrix.com> wrote in message
news:10671240.1153148578759.JavaMail.itn@is.intellij.net...
>> If you're using "checkout sources automatically"
>> option agent does not sync
>> any projects (you can do not install p4 on agents at
>> all) but server builds
>> patch (accordong to previous ang current agent
>> versions) and sends it to the
>> agent.
>

Does this mean that the server checks out the complete tree again if this
option is set? I need the server or build agent to use a sync. I have a
WAN between the Perforce server and the build agent so I want it to sync
rather than check out the whole repository for each build.

>
>>
>> If 'clean all files before build' option is enabled
>> the whole project will
>> be sent.
>>
>> "Gary Evesson" <gary@decentrix.com> wrote in message
>> news:7758949.1153086943705.JavaMail.itn@is.intellij.ne
>> t...
>> > Is TeamCity supposed to do this? My version is.
>> Rather than using the
>> > Perforce 'sync' command to sync up the client, it
>> is chacking the whole
>> > client out again. This makes using it over a
>> network not very viable.
>> >
>> > - Gary
>>
>>


0
Comment actions Permalink

'checkout sources automatically' disabled - you have
to sync sources from an
ant script

'checkout sources automatically' enabled, 'clean all
files...' disabled -
server builds patch (it doesn't send all files, only
changed)

'checkout sources automatically' enabled, 'clean all
files...' enabled -
server sends all files


But does the server check out all the files?

- Gary

0
Comment actions Permalink

In the second mode - it doesn't.

"Gary Evesson" <gary@decentrix.com> wrote in message
news:6831872.1153152495052.JavaMail.itn@is.intellij.net...
>> 'checkout sources automatically' disabled - you have
>> to sync sources from an
>> ant script
>>
>> 'checkout sources automatically' enabled, 'clean all
>> files...' disabled -
>> server builds patch (it doesn't send all files, only
>> changed)
>>
>> 'checkout sources automatically' enabled, 'clean all
>> files...' enabled -
>> server sends all files
>>
>

But does the server check out all the files?

>

- Gary



0
Comment actions Permalink

I have just been looking at this (as I have a large tree to sync from perforce).

I have 'Checkout sources automatically' enabled and 'Clean all files before build' disabled.

However, after each build the work\]]> directory is cleared causing a complete checkout to occur again.

Is there an option I can set on the agent to stop it deleting all the files it has just synced?

Thanks,
Theo

0
Comment actions Permalink

I's unexpected behaviour. Could you please submit bug issue and attach
server and agent logs and console output?

"Theo Harper" <theo_harper@systemsunion.com> wrote in message
news:7993907.1153484049786.JavaMail.itn@is.intellij.net...
>I have just been looking at this (as I have a large tree to sync from
>perforce).
>

I have 'Checkout sources automatically' enabled and 'Clean all files
before build' disabled.

>

However, after each build the work\<projectName> directory is cleared
causing a complete checkout to occur again.

>

Is there an option I can set on the agent to stop it deleting all the
files it has just synced?

>

Thanks,
Theo



0
Comment actions Permalink

G'day!

Sadly to say, we got the same problem. And worse, we have huge repository.No, I mean HUGE repository - with lot of binary data.  So, each time TC wish to clean our working copy (and it cleans!) we sends hate rays to it X-(
The only option we have - it to check out all roots via scripts. Yeah, it works, but every newcomer can't understand how it works at a glance.And what's for VCS settings than?

Can I develop some plugin to stop this madness? Or could you, please, add option to "not clean working copy"?
Case, it is very very very {inconvenient, awkward, uncomfortable, embarrassing} - select any.

Yes, we're using TC 6.0 (build 15772), our build configured to check working copy directly to agent and checkbox "Clean all files before build" is unchecked.

Thanks in advance.

[11:38:20]: Checking for changes
[11:38:22]: Clean build enabled: removing old files from /var/tainted/build-agent/work/f1_server_commit
[11:38:22]: Clearing temporary directory: /var/tainted/build-agent/temp/buildTmp
[11:38:22]: Checkout directory: /var/tainted/build-agent/work/f1_server_commit
[11:38:22]: Updating sources: agent side checkout...
[11:38:22]: [Updating sources: agent side checkout...] Will perform clean checkout. Reason: Checkout directory is empty or doesn't exist
[11:38:22]: [Updating sources: agent side checkout...] Cleaning /var/tainted/build-agent/work/f1_server_commit/vendors
[11:38:22]: [Updating sources: agent side checkout...] Cleaning /var/tainted/build-agent/work/f1_server_commit/server_bin
[11:38:22]: [Updating sources: agent side checkout...] Cleaning /var/tainted/build-agent/work/f1_server_commit/client
[11:38:22]: [Updating sources: agent side checkout...] Cleaning /var/tainted/build-agent/work/f1_server_commit/server
[11:38:22]: [Updating sources: agent side checkout...] Cleaning /var/tainted/build-agent/work/f1_server_commit/scripts
[11:38:22]: [Updating sources: agent side checkout...] VCS Root: svn://f1svn/f1/trunk/client
[11:38:22]: [VCS Root: svn://f1svn/f1/trunk/client] checkout rules: =>client; revision: 2547_2011/03/11 10:44:25 +0300
[11:38:22]: [VCS Root: svn://f1svn/f1/trunk/client] Will use fast SVN update

[11:43:16]: [Updating sources: agent side checkout...] VCS Root: svn://f1svn/f1/trunk/scripts
[11:43:16]: [VCS Root: svn://f1svn/f1/trunk/scripts] checkout rules: =>scripts; revision: 2385_2011/03/05 18:56:12 +0300
[11:43:16]: [VCS Root: svn://f1svn/f1/trunk/scripts] Will use fast SVN update

[11:43:30]: [Updating sources: agent side checkout...] VCS Root: svn://f1svn/f1/trunk/server
[11:43:30]: [VCS Root: svn://f1svn/f1/trunk/server] checkout rules: =>server; revision: 2549_2011/03/11 11:02:31 +0300
[11:43:30]: [VCS Root: svn://f1svn/f1/trunk/server] Will use fast SVN update

[11:44:54]: [Updating sources: agent side checkout...] VCS Root: svn://f1svn/f1/trunk/server_bin
[11:44:54]: [VCS Root: svn://f1svn/f1/trunk/server_bin] checkout rules: =>server_bin; revision: 2507_2011/03/10 13:36:18 +0300
[11:44:54]: [VCS Root: svn://f1svn/f1/trunk/server_bin] Will use fast SVN update

[11:45:05]: [Updating sources: agent side checkout...] VCS Root: svn://f1svn/f1/trunk/vendors
[11:45:05]: [VCS Root: svn://f1svn/f1/trunk/vendors] checkout rules: =>vendors; revision: 2475_2011/03/09 21:56:29 +0300
[11:45:05]: [VCS Root: svn://f1svn/f1/trunk/vendors] Will use fast SVN update

[11:46:15]: Starting: python scripts/build/build_commit_server.py --clean --skip-commit --skip-svn-sync
[11:46:15]: in directory: /var/tainted/build-agent/work/f1_server_commit


Reason: Checkout directory is empty or doesn't exist

I've checked two time - directory exists, it's not empty and it has no changes. But it's used in two build configuration - but with absolutely same VSC roots (builds configured via template).

0

Please sign in to leave a comment.