The project deploy process works solely on the source inside your .PBL files. Your .SR* files are generated when you check-in/commit to source control. A .PBG file lists the objects of a .PBL file that have been checked-in.
EX: MyApp.PBL contains d_data, w_main, and u_tabpage (all checked-in) and w_special (not checked-in yet). In this case you should a MyApp.PBG file listing d_data.srd, w_main.srw, and u_tabpage.sru.
When you add the new window to source control but something fails - that's where .PBG most often go out-of-sync.
EX: Add new window *SHOULD* add w_special.srw and add a line for that file in MyApp.PBG. When it fails, you have 4 objects in MyApp.PBL under source control but your MyApp.PBG insists there are only 3 files. From now on you will see problems with source control until you get MyApp.PBG back in sync.
Two ways to get .PBG files sync'ed once more:
- Edit the .PBG file
Add lines for objects check-in but missing in the .PBG file
Remove lines for objects removed from source control but still listed in the .PBG file
Check-in this edited file using TFS directly (not using PB IDE for that check-in)
- Delete the .PBG file
PB IDE will generate new .PBG file.
Tools like PBGEN can create up-to-date .PBG files. Or you could write your own .PBG generator.
HTH /Michael