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.

PBS by using perforce shelve function. #1528

jeonghoon-jeon ·
hi, robin.

I setted PBS by using perforce shelve function.
Users input base_CL and shelve_CL(it have files modified by user), then sync by base_CL and unshelve by shelve_CL.
And, befor start next build sync, revert all unshelved files.
It is useful because developers don't need install user agent and I don't care about their question that related user agent problem.

But,unfortunately we cannot use 'Local changes' menu.
I made 'Local changes' menu for PBS using p4 shelve, but it is not perfect.

I hope that this function will be QuickBuild's formal function by you.

best regards,
Jeon
  • replies 5
  • views 4467
  • stars 0
robinshen ADMIN ·
Hi Jeon,

So in order to do a proof build, user has to shelve the changes first, and then trigger build to input base CL and shelve CL. Additionally if developer wants to commit the local changes, they need to unshelve and then commit. This process seems verbose to me compared to the user agent approach, in which case, the user only needs to run the build, even if the commit can be done automatically.

Regards
Robin
jeonghoon-jeon ·
Hi, robin.

I think PBS is very useful and helpful in proceed our project.
But I encountered two problem when using PBS because of difference of OS.
(Our developers are using Windows OS, but Build machines are using Linux system.)
First is 'Line end' problem, and second is 'execute permission(+x)' problem. (+x attribute was disappeared)
When developer modify source files in their local PC, sometimes this problem was occured.

But, by using shelve PBS, I could resolve this problems <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
So I hope that you consider this method again.

Best regards,
Jeon
jeonghoon-jeon ·
Oh, currently it is QB's official function <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
drdt ·
You could resolve the line endings and execute permission issues by adding a step early in the build to convert all source files to the correct settings.

I had to do this even before I turned on proof builds because my build process was
- check out on NodeA (Windows)
- parallel composition step [
- compile on NodeB (Mac)
- compile on NodeC (Windows)
]
- assemble packages on NodeA

'compile' was a serial composition step that did the actual build. I used the 'Fetch Input Files' and 'Pre-Execute Action' settings to copy the source files to NodeB or NodeC and convert them to the correct line endings (and permissions, on the Mac).

Once I had this in place, it automatically took care of my users' proof builds coming from both Windows and Mac.
jeonghoon-jeon ·
Currently it was solved.
This is 4 years ago's issue. <!-- s:P --><img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz" /><!-- s:P -->

Thanks~