The Agent Git plug-in allows you to seamlessly integrate PowerBuilder 2017 and PowerBuilder 2019 with Git.
Features of the plug-in include:
Below is a link to a short video showing how to connect a PowerBuilder 2017 workspace to the Git version control using Agent Git.
Note: The configuration steps for PowerBuilder 2019 and later versions will be the same as shown in that video.
The PowerBuilder settings tweaks described here can be used to imporve proformance.
While the tweaks above apply to Agent SVN, those same setting changes also apply when using PowerBuilder with AgentGit.
Finally the PowerBuilder SccDiffStrategy settings sould be set to one of the values shown below:
04 - Examines the SCC_STATUS_OUTOFDATE bit from the SccQueryInfo command to determine which objects are out of sync
08 - Compares the source code in the target PBLs with object files in the local project path
12 - A combination of both these settings
More details on that PowerBuilder setting can be found in the Comparison strategies section of this page.
The tutorial below describes how to use Agent Git with the PowerBuilder 2017 IDE and the Git source control.
For a better understanding on how PowerBuilder interacts with the source control refer to the links below:
Use the Agent Git Configuration utility to do the once off configuration of the plug-in.
You can use this dialog to configure the behaviour of the plug-in.
To see how Agent Git works we need something to play with so the next step is to create a simple PowerBuilder test project.
From within the PowerBuilder IDE create a new MyWorkspace test workspace and add a template application to that workspace as shown below:
From within the PowerBuilder IDE use the Properties menu to bring up the MyWorkspace, Properties dialog as shown below:
Setup Agent Git as the Source Control System for this workspace, fill in the required connection details and also set the Status Refresh Rate to a high value as shown below:
If you are using the Agent Git option to mark files as read only when not checked out make sure you also select the PowerBuilder option to not prompt when overwriting read only files.
Make sure the Project entered matches the workspace name used in Step 3.
Make sure the Local Root Directory entered matches folder location of the workspace that was created in Step 3.
Use the button as indicated by the blue square, to import the project into the Git Repository as shown below:
This will result in you being presented with the project binding dialog as shown below:
This dialog takes two inputs, a project name and a local folder location that contains the Git repository.
In this particular case, as this is a new project, hitting the Ok button will result in the following dialog:
The reason the dialog is displayed is because we are dealing with a new project and no Git repository exists for the project and as such the response should be Yes.
However, for the case where the project already has a Git repo the answer should be No and the path should then be modified to point to that existing Git repo.
Apply the changes and the workspace will now be bound to the Git repository.
With the workspace now bound to the Git repository, use the Add to Source Control option to add the workspace items to the Git repository as shown below:
This will result in the following PowerBuilder import dialog:
At this stage the workspace and all it's items have been imported into the repository and the workspace has also been bound to the repository.
To access the source control from inside PowerBuilder use the popup menu as shown below:
IMPORTANT NOTE: If these source control menus are disabled, check the machine for duplicate copies of PowerBuilder pb*.dll files.
To check the bindings use the Show History menu to check on the source control history for the workspace as shown below:
With the workspace now fully configured, you can now use the check-out, check-in, file compare commands (or any of the other source control commands) to manage your workspace files.
For more information, this link describes how to get the best out of source control from inside the PowerBuilder IDE.