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.

Not getting latest Perforce file updates #3374

bakerb ·
We’re seeing issues when using shelved changelists where updates are not being reflected on the agent workspaces:
1. Update a file on a shelved Perforce changelist.
2. Verify that the change has been shelved.
3. Specify the shelved changelist when building.
4. Submit the build.
Subsequently the build (and agent workspace) do not have the latest changes from the shelved changelist.

At first this issue was specifically with shelved changelists on a specific server. Now we're getting reports of this happening with submitted changelists on other servers as well.

Is there a way to use the Perforce force (-f) switch with QB? Does the entire workspace have to be cleaned and repopulated in order to get updates?

Here is the log output from one example (server names and some other data changed):

13:57:07,462 [master>Checkout And Unshelve>P4 Unshelve?shelved_changelist=499831@fmsapp441:8888] INFO - D:\p4views\scan_ProdGen2015>p4 -P 4F01C29895B742CE09C6EBDBB418A78B unshelve -s 499831
13:57:07,544 [master>Checkout And Unshelve>P4 Unshelve?shelved_changelist=499831@fmsapp441:8888] INFO - //gfx_Dev/rel/INT_GEN_2015/Tools/KW/sync_scan_kpd.bat#2 - unshelved, opened for edit
13:57:07,544 [master>Checkout And Unshelve>P4 Unshelve?shelved_changelist=499831@fmsapp441:8888] INFO - ... //gfx_Dev/rel/INT_GEN_2015/Tools/KW/sync_scan_kpd.bat - must resolve //gfx_Dev/rel/INT_GEN_2015/Tools/KW/sync_scan_kpd.bat@=499831 before submitting
13:57:07,544 [master>Checkout And Unshelve>P4 Unshelve?shelved_changelist=499831@fmsapp441:8888] INFO - ... //gfx_Dev/rel/INT_GEN_2015/Tools/Klocwork/sync_scan_kpd.bat - also opened by autosync@autosync_Gen2015
13:57:07,544 [master>Checkout And Unshelve>P4 Unshelve?shelved_changelist=499831@fmsapp441:8888] INFO - ... //gfx_Dev/rel/INT_GEN_2015/Tools/KW/sync_scan_kpd.bat - also opened by juneseth@cdt4011
...

Is the line that says "must resolve before submitting" saying that it must be resolved outside of QB, or that QB will take care of resolving the file?
  • replies 7
  • views 7588
  • stars 0
robinshen ADMIN ·
Does your build script modify checked out file? Otherwise, perforce should not report "unresolved" when unshelve changes.
absalom1 ·
The full log shows both files are unshelved correctly.
The line "must resolve before submitting" means that the files are modified and submitted to P4 server after you checked out (open for edit).
So the shelved revision, what you modified, could be conflicted with latest revision file and you need to resolve the conflict before you submit if you submit the change from buildagent.
I recommend you to sync those files to latest on your workspace first and resolve then try it again then you will not find the log.
robinshen ADMIN ·
QB already synced the workspace before unshelving the change list in case someone modified the file after file shelving. So I guess the file has been modified again either by the build itself, or some other one has modified it during build time. In the latter case, we should improve the logic to sync the workspace again before submitting, and this case will be covered by issue:
http://track.pmease.com/browse/QB-2587
bakerb ·
One thing I forgot to mention: We "were" using two Perforce workspaces for our checkouts, one that contained our build files and another that had the shelved changes. By not using the second workspace (copied the shelved changes from the second workspace to the first) and doing everything in one workspace, the issue was resolved.
robinshen ADMIN ·
If you are using two perforce repositories, make sure they are using different root directory when define the repo at QB side; otherwise they will overlap each other to cause issues.
goydex ·
If you are using two perforce repositories, make sure they are using different root directory when define the repo at QB side; otherwise they will overlap each other to cause issues.


Does this restriction apply if you have 2 perforce repositories defined for a configuration, but are only checking out code from one of them?
robinshen ADMIN ·
If you are using two repositories without checking out them in the same time, you does not have to use different root directories. However at the time of switching repositories, for instance, one repository is used in previous build, and then another repository is used in next build, you will have to clean out the workspace between the build to avoid issues.