Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Perforce and inherited repositories #4102

SameOldSong ·

We have a configuration (conf_A) that inherits its repositories from the parent configuration (conf_B), but does not actually use or need them in the workflow.
At the beginning of each build in conf_A, Perforce tries to get updates from all these inherited repositories.
In log this looks like:

Getting changes of 'some_repository' since build 'buildID'...

Perforce user on the agent, where conf_A runs, does not have access to all the repositories inherited from conf_B.
So the build aborts with this message:

Failed to run command: p4 -p <perf_server>:<port> -u <user> -P <passwd> -c <agent>-8379 client -i 
Command return code: 1
Command error output: Error in client specification.

Question: is this behavior "works as designed" - that all the repositories of the configuration (incl. the inherited ones) are updated at the beginning of each build, no matter whether they are used in the worklfow or not?

  • solved #2
  • replies 7
  • views 38
  • stars 1
robinshen ADMIN ·

QB only update from the repository when it is used somewhere in your child configuration, or used in some setting of ancestor configurations, and that setting is used in child configuration. Please check below places:

  1. Steps
  2. Configuration build condition in general setting
  3. Snapshot taking setting in advanced setting
SameOldSong ·

The only setting out of your list that comes into question is Snapshot taking setting in Advanced settings.

It is set to Take snapshots for all referenced repositories

Can this be the reason?

robinshen ADMIN ·

So if the repository is referenced via master step or any of its child steps, it will be included for snapshot taking.

SameOldSong ·

Do you mean - when one of the steps is from the category "Repository"? (for ex., Repository --> Checkout)
2019-06-06_09h46_41.png

robinshen ADMIN ·

Yes, that is true.

SameOldSong ·

We have no Repository-related steps in the Configuration itself. And yet, every build starts with

Getting changes of... 
Updating client spec...

There are Repository-related steps in the parent configuration, but these steps are not inherited by the Configuration in question.

robinshen ADMIN ·

You may send your database backup to [robin AT pmease DOT com] and I check what might be the problem. The backup can be taken from administration page. Please also let me know repository name and build in question.