What is the VCS number for a CVS checkout?

The VCS checkout mode page describes the need to respect the BUILD_VCS_NUMBER_<VCS root name> value for accurate representation of changes. However, CVS has no concept of a VCS number for the repository. What does it set this value to? A timestamp maybe?

Comment actions Permalink

It seems that yes it is a timestamp. However, it does not appear to be in a CVS recognized format:

cvs [update aborted]: Can't parse date/time: 13 Dec 22:32:07

Even date seems to have trouble with this string:

[prompt] date -d "13 Dec 22:32:07"
date: invalid date `13 Dec 22:32:07'

It can still be parsed a number of other ways by specifying what the format is however it's not clear if this format will always be maintained. Is that the case? I notice that no year is specified. Is it ever, for example?
Comment actions Permalink

Was eventually filed as TW-19423.

Comment actions Permalink


You would need to use the VCS_NUMBER only of you perform the checkout in the build script and do not want to use checkout on server/on agent provided by TeamCity.
Why do you actually need to handel the checkout in the build?

For the time being, you will need to convert the date into CVS-understandible format for it to work.

Comment actions Permalink

Hi Yegor,
As mentioned, I can't use the agent or server checkout because it is translating my source code incorrectly. That aside, though I haven't posted it separately yet, using agent side checkout results in the following error for me:

[14:07:28]: Updating sources: agent side checkout... (30m:46s)
[14:38:14]: [Updating sources: agent side checkout...] Failed to perform checkout on agent: java.io.IOException: Cannot run program "chmod": error=11, Resource temporarily unavailable

I'm running 2 additional agents on the same machine as the server right now and the server is running Solaris. Other than these two problems, I would be happy to use agent side checkout.

Comment actions Permalink

> [14:38:14]: [Updating sources: agent side checkout...] Failed to perform checkout on agent: java.io.IOException: Cannot run program "chmod": error=11, Resource temporarily unavailable

I found the following explanation of the error:

Resource temporarily unavailable

This indicates that the fork(2) system call failed because the
system's process table is full, or that a system call failed
because of insufficient memory or swap space. It is also possible
that a user is not allowed to create anymore processes.

Simply waiting often gives the system time to free resources.
However if this message occurs often on a system, reconfigure the
kernel and allow more processes.  To increase the size of the
process table in Solaris 2.x, increase the value of maxusers in
the /etc/system file. The default maxusers value is the amount of
main memory in MB, minus 2.

If one user is not allowed to create any more processes, that
user has probably exceeded the memorysize limit; see the limit(1)
man page for details.

Can you please check the system has enought resources?
Is the issue persistent? Does it occur at the same moment all the time?
Comment actions Permalink

It is intermittant. The machine has 4GB of memory and is only building one config and two toy configs so I don't think there's a memory problem. Perhaps there is a process problem though. I'll keep looking but for the moment I don't have any definitive evidence that TeamCity is at fault.


Please sign in to leave a comment.