Workspace is flowing changes from unconfigured repository
In my workspace I have a replicated component from another RTC repository, together with other "local" components. In RTC client, I can accept incoming changes to this workspace from local and replicated components just fine.
My problem is, in my build process, if I ask it to accept changes before build then it fails with the following error, (I renamed the actual workspace name and remote repository address).
(note: in other build definitions where I don't have this replicated component then everything is fine)
2011-11-23 13:21:48 Accepting changes into workspace "build workspace" ...
com.ibm.team.repository.common.TeamRepositoryException: Workspace 'build workspace' is flowing changes from unconfigured repository 'https://remotertc.com:8043/jazz/'
at com.ibm.team.build.internal.scm.SourceControlUtility.acceptAllIncoming(SourceControlUtility.java:695)
at com.ibm.team.build.internal.scm.SourceControlUtility.acceptAllIncoming(SourceControlUtility.java:631)
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.performAccept(JazzScmPreBuildParticipant.java:359)
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:176)
at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:806)
at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:622)
at java.lang.Thread.run(Thread.java:736)
Any suggestion?
My problem is, in my build process, if I ask it to accept changes before build then it fails with the following error, (I renamed the actual workspace name and remote repository address).
(note: in other build definitions where I don't have this replicated component then everything is fine)
2011-11-23 13:21:48 Accepting changes into workspace "build workspace" ...
com.ibm.team.repository.common.TeamRepositoryException: Workspace 'build workspace' is flowing changes from unconfigured repository 'https://remotertc.com:8043/jazz/'
at com.ibm.team.build.internal.scm.SourceControlUtility.acceptAllIncoming(SourceControlUtility.java:695)
at com.ibm.team.build.internal.scm.SourceControlUtility.acceptAllIncoming(SourceControlUtility.java:631)
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.performAccept(JazzScmPreBuildParticipant.java:359)
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:176)
at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:806)
at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:622)
at java.lang.Thread.run(Thread.java:736)
Any suggestion?
7 answers
Hi Randy, the solution is to point JBE at a repositories file (via -repositories). This file is used to maintain the login info for the SCM CLI, and lives under ~/.jazz-scm by default. We're working on getting you more detailed instructions, but the basic approach would be:
scm login -r <repo1> -u <userId> -P <password>
scm login -r <repo2> -u <userId> -P <password>
...
jbe -repositories ~/.jazz-scm/repositories.txt ...
Hi Randy, the solution is to point JBE at a repositories file (via -repositories). This file is used to maintain the login info for the SCM CLI, and lives under ~/.jazz-scm by default. We're working on getting you more detailed instructions, but the basic approach would be:
scm login -r <repo1> -u <userId> -P <password>
scm login -r <repo2> -u <userId> -P <password>
...
jbe -repositories ~/.jazz-scm/repositories.txt ...
Hi Nick, thanks for the reply and suggestion. Since my build engine is an AIX box, I stopped the jbe, then restart it with
<path>/jbe.sh -vm <path> -engineId <engine> -repository ~/.repositories.txt -repositoy <URL>
In the ~/.repositories.txt I have
<path>/scm.sh login -r <URL1> -u <id> -P <pwd>
<path>/scm.sh login -r <URL2> -u <id> -P <pwd>
However, after I run the command to start jbe, I got this, (real URL has been replaced)
2011-11-28 14:20:42 [Jazz build engine] Running build loop...
2011-11-28 14:20:42 [Jazz build engine] Waiting for request...
2011-11-28 14:20:43 [Jazz build engine] Exception occurred in build loop: Repository "https://<url>" has not been configured for use in the repositories file
com.ibm.team.repository.common.TeamRepositoryException: Repository "https://<url>" has not bee
n configured for use in the repositories file
at com.ibm.team.build.internal.scm.RepositoryManager.getRepository(RepositoryManager.java:228)
at com.ibm.team.build.internal.engine.BuildLoop.getTeamRepository(BuildLoop.java:1290)
at com.ibm.team.build.internal.engine.BuildLoop.initializeRepositories(BuildLoop.java:1274)
at com.ibm.team.build.internal.engine.BuildLoop.getRepositoryManager(BuildLoop.java:1279)
at com.ibm.team.build.internal.engine.BuildLoop.getTeamRepository(BuildLoop.java:1290)
at com.ibm.team.build.internal.engine.BuildLoop.runLoop(BuildLoop.java:272)
at com.ibm.team.build.internal.engine.BuildLoop$1.run(BuildLoop.java:207)
at java.lang.Thread.run(Thread.java:736)
I have verified that if I run those two lines in the repositories file on the command line they do get me logged on the two servers.
Any more suggestion?
Randy, to point to a repositories file use -repositories instead of -repository.
Also, the contents of the file is not something you produce directly, but rather is produced by using the SCM CLI to login. So you should run the scm login commands manually, or via some other script, and the SCM CLI itself will create the repositories file (i.e. its cache of credentials). This file is created in ~/.jazz-scm/repositories.txt by default.
Also, the contents of the file is not something you produce directly, but rather is produced by using the SCM CLI to login. So you should run the scm login commands manually, or via some other script, and the SCM CLI itself will create the repositories file (i.e. its cache of credentials). This file is created in ~/.jazz-scm/repositories.txt by default.
Randy, to point to a repositories file use -repositories instead of -repository.
Also, the contents of the file is not something you produce directly, but rather is produced by using the SCM CLI to login. So you should run the scm login commands manually, or via some other script, and the SCM CLI itself will create the repositories file (i.e. its cache of credentials). This file is created in ~/.jazz-scm/repositories.txt by default.
That worked. Thanks so much for your help, Nick.
Randy
Good to hear, and thanks for letting us know.
Sorry for the difficulty with this. We need to document this better.
I've filed a work item. Feel free to subscribe if you like.
Sorry for the difficulty with this. We need to document this better.
I've filed a work item. Feel free to subscribe if you like.
To clarify, if specifying -repositories REPOSITORIES_FILE then you still need to specify -repository REPOSITORY_URL to indicate the primary repository (the one with the build engine). Credential arguments like -userId, -pass, -passwordFile should not be given when using -repositories, as they will be looked up in the repositories file for the repository in question (whether primary or secondary).