CVS: "Revision not found, will omit sources"

Hi,

since migrating to the TC 4.0 EAP (#7888) we're having some serious trouble with some build
configurations and CVS. Some CVS roots seem to be ignored by TC, i.e. they aren't checked out when
"VCS checkout mode" is set to "Automatically on server".

While trying to track this down, I wanted to trigger another build on the same sources that have
previously failed due to missing files, and found this error message next to the VCS-root's name in
"Run Custom Build" dialog: "Revision not found, will omit sources". The root itself is correct and
"Test connection" is successful.

This error seems to explain that the files from this root are missing from the build which causes it
to fail. However, this leaves some questions:

- What revision does TC expect, and why is the revision not found?

- In case some revision cannot be found, why does the build start at all? IMHO this should result in
an error with some information about the reason of this situation. TC just cannot "omit" the sources
in the hope that all goes well.

The TC logs don't show anything unusual, the VCS log just says "Collecting changes for ...". What
should be done to diagnose/fix this situation?

Thanks,
Sascha



Attachment(s):
cvs-error.PNG
5 comments
Comment actions Permalink

Recently we made some changes in CVS plugin to speedup it. There were also some fixes related to CVS modules processing. Probably those changes affected your builds somehow. Please submit an issue to our tracker and attach there more details about broken VCS roots. Also please enable debug logging (http://www.jetbrains.net/confluence/display/TCD4/Reporting+Issues#ReportingIssues-VersionControlDebugLogging), try to reproduce bug and attach teamcity-vcs.log and teamcity-server.log to the issue. If you are using VCS trigger quiet period please indicate this too.

As for "Revision not found, will omit sources" message it is shown for a VCS root if there were no changes in it made before the change selected in "Run custom build" dialog, i.e. TeamCity does not know which revision to use for this VCS root, so if you start build on this change no sources will be taken for this VCS root. Note that this warning only makes sense for builds started on a specific change. For usual builds TeamCity will take sources on the moment of build starting and such situation will not occur.

--
Pavel Sher

0
Comment actions Permalink

Hello Pavel,

Recently we made some changes in CVS plugin to speedup it. There were also some fixes related to CVS modules processing. Probably those changes affected your builds somehow. Please submit an issue to our tracker and attach there more details about broken VCS roots. Also please enable debug logging (http://www.jetbrains.net/confluence/display/TCD4/Reporting+Issues#ReportingIssues-VersionControlDebugLogging), try to reproduce bug and attach teamcity-vcs.log and teamcity-server.log to the issue. If you are using VCS trigger quiet period please indicate this too.


OK, will do so. Although there is no particular difference with this VCS root.

BTW: The TC tracker is not a convenient place for me because our email system (Lotus Notes) cannot
deal with the HTML mails it sends. Please allow it to send plain text mails.

As for "Revision not found, will omit sources" message it is shown for a VCS root if there were no changes in it made before the change selected in "Run custom build" dialog, i.e. TeamCity does not know which revision to use for this VCS root, so if you start build on this change no sources will be taken for this VCS root. Note that this warning only makes sense for builds started on a specific change. For usual builds TeamCity will take sources on the moment of build starting and such situation will not occur.


Hmm, I'm afraid I don't understand this: If there were no changes (that are known to TC), it needs
to check out the latest sources from that root instead of simply ignoring it. Here's what happens:

- Root A: No changes since a very long time. Maybe the last change was before TC ever saw the root.
This root contains the mail sources including the build file.

- Root B: Contains recent changes TC knows about. I try to run a build with any of these changes.
The build fails because root A with all sources is omitted. That doesn't make any sense. Even the
word "omitting" and "sources" don't fit together: sources must never be omitted for a consistent state.

Because the effect of a manual build is identical to the actual problem I described, I assume that
there is a relationship between the behavior of "Run with Change" and normal builds. Maybe due to
the fact that the TC installation (that has been upgraded from 3.1.1) isn't aware of the latest
changes on a root.


Sascha

0
Comment actions Permalink

Update:

After adding the logging system property and restarting TC, the problematic project now builds
correctly again with "normal" builds. Selecting any specific change however still fails because it
omits the sources. That's in the log:

WARN - jetbrains.buildServer.VCS - Revision not found for VCS root
cvs: :pserver:build@cvs:/home/cvsroot abc/xyz, sources will not be retrieved for this VCS root

Sascha

0
Comment actions Permalink

Actually right now I am fixing a similar bug. It can occur in the following conditions:
- VCS trigger with quiet period is used
- in one of the VCS roots there were no changes in some build configuration but there were changes in other build configuration (i.e. different checkout rules used)

In this case Revision not found message could occur and sources can be omitted. This is a bug and I hope to fix it before the next EAP which we expect to release soon. As a workaround try to disable quiet period in VCS trigger.

As for "Revisions not found, sources will be omitted" message in custom build dialog there are cases when this is correct. For example, you attached a new VCS root to build configuration, then you selected a change in custom build dialog which happened BEFORE any change was detected for the new VCS root in your build configuration. In this case sources could be omitted just because there were no such VCS root in configuration on the moment of the selected change.

But this should happen only for custom builds, in any other cases this is a bug.

--
Pavel Sher

0
Comment actions Permalink

The latest EAP (build #8018) contains fix for this problem. Please try it.

--
Pavel Sher

0

Please sign in to leave a comment.