As I continue to research Git and PowerBuilder I am trying to understand the best setup.
1) Repository - There have been some articles saying the GIT repository name must be the same name as the workspace but when you select the 'Add to Source' it allows you to have the repository name different than the workspace. And even the 'Connect to' allows them to be different. Is this now ok to do? Should we still keep those names the same? Seems a little restrictive but if there is a reason then I will follow it.
2) PBL - To source or not to source...that is the question. I have read that the PBL should only be pushed the first time and then everything after that is just importing the changes into the PBL. What happens if you go back and forth between multiple releases? How does the PBL deal with objects being removed and added? What happens when you get the latest release the first time (ie. new developer) and you already have multiple releases out there? Our current model is we flag the PBL as a 'product' and it gets checked-in for the final release so when you go get the objects for the next release then the PBL is up-to-date. This makes it so only changes for the current release need to get imported. What is the best practice here for Git and PBLs?
3) When modifying code we always associate a task to the work when we do the check-out. Once we are done with that piece of work we check it in and sign off the task. This allows the build process to pick up just that change. Since Git does not have a Check-out/in then how do you associate changed code to a particular work item? We are always working on multiple features at the same time so I can't just have a bunch of changed code out there and not know what the change is associated to.
Thanks for any input,
Chris Craft
I have som PB application in which I have say PFC. That application is in GIT. (In git repo are pbls and ws_objects folder.
If I commit into GIT and someone update his source from git. PBL are changed on his side after he update sources.
If I want to update pbls (say update PFC with new version) I will replace old pbls with newer one.
But after that It will not regenerate ws_objects automaticaly and I did not find any way (in power builder) how to do that.
What is recommended way of update whole PBL in project which is in GIT SC? Is it delete WS objects, update pbl, then use some orcascript way, or there is some other way to do that?
Sorry for my english, hopefully you can understand me better what I'm trying to achieve.
Ales
If you overwrite PFC PBLs with a new version, the actual code that is held in ws_objects and thus GIT is not updated. If you update the code in ws_objects, the PBLs are not updated automatically but using the "Refresh" command in PB will load any changes from ws_objects into the PBLs.
If you want to update your PFC from PBLs one way I could think of would be to create a new workspace that is not under source control, add the new PFC PBLs to that one and export all the objects to one folder per PBL. Use the library painter to select all objects inside a PFC PBL and export via right-click; pick a folder and hold ALT+S (or whatever the hotkey for "save" might be on your system) until all objects are exported.
Then delete everything inside the respective folders (say pfcapsrv.pbl.src etc) inside ws_objects of your target workspace that is tracked via GIT. Use a git client program to commit and push the changes.