Source control enhancements

Source control managements in PowerBuilder have been improved in these aspects:

  • (Git and SVN) The "Refresh all PBLs with the source code after download" option is added to the Connect to Workspace dialog. You can select it to refresh all PBLs after downloading the source code from workspace if you are unsure whether the PBLs are updated with the latest source code.

  • (Git and SVN) Supports to view differences from the SVN/Git Commit (SVN Get/Release Lock, Revert, or Resolve) dialog -- In the Commit (SVN Get/Release Lock, Revert, or Resolve) dialog, double click an item from the object list to compare the local object with the version last sync with source control and view the differences.

  • (Git and SVN) Supports Application Properties in source control -- Application Properties (such as the icon file, application font, theme settings, rich text settings) can be manipulated by the SVN/Git source control.

  • (Git and SVN) You can move the project along with its source control bindings to a new location without needing to bind the project with the source control server again. Before 2019 R3, when the project is moved to a new location or when PowerBuilder IDE is re-installed, the existing source control bindings become invalid, and you will have to connect with the source control server and download the project to re-establish the binding. In 2019 R3 (and later versions), after you move the project (including the .svn or .git and ws_objects sub-folders), you can continue with the source control management immediately.

    Besides that, if a project is under source control using a third-party tool such as TortoiseSVN or TortoiseGit, you can move it (including the .svn or .git sub-folder) and then select the source control type (SVN or Git) in the Properties of Workspace | Source Control tab to enable PowerBuilder IDE to add and continue with the source control management. For more, see the section called “View/Edit the connection settings” in Users Guide.

  • (Git and SVN) You can specify the encoding format for the source code files in "ws_objects", when you add the workspace to the source control server. You can select from: ANSI/DBCS, HEXASCII, and UTF8.

  • (Git and SVN) You can now use the Edit Conflicts option to edit conflicts through a third-party tool. You must first specify the third-party tool: in the Properties of Workspace dialog box, select the Source Control tab, and then click the Advanced button. In the Source Control Advanced Settings dialog box, select Show Log/Edit Conflicts in the left panel, and then specify the executable program of TortoiseSVN or TortoiseGit. For details, see the section called “Tools for Show Log\Edit Conflicts” in Users Guide.

    You should not commit objects if they are in conflicts. And after you edit the conflicts, you should refresh the objects to import the changes. It is also recommended that you regenerate or full build your project if there is any error after you resolve the conflicts.

  • (Git and SVN) Project directory can contain multi-byte characters.

  • (Git and SVN) The error messages occurred during the source control management in PowerBuilder IDE will be listed in the Errors tab of the Output window. Previously, the errors are only listed in the Default tab of the Output window.

  • (Git only) You can create and switch branches in the PowerBuilder IDE, just like how you create and switch branches using TortoiseGit. For details, see the section called “Use branches” in Users Guide.

  • (Git only) The branch information is shown in the PowerBuilder IDE, for example, the name of the current branch is displayed in the Commit menu, in the Commit dialog title, and in the output window.

  • (Git only) Supports creating and switching to the branch -- PowerBuilder IDE provides no direct option for creating or switching to a branch; but you can create and switch to the branch using a third-party tool (such as TortoiseGit), and then restart PowerBuilder IDE to automatically switch to the branch; and after that you can manipulate the objects under the branch in the PowerBuilder IDE. For detailed steps, see the section called “Use branches” in Users Guide.

  • (Git only) PowerBuilder IDE will add the autocrlf option and set it to true on Windows if no other Git tool has installed and configured such an option. However, if you have manually changed the setting of autocrlf (from true to false or input), and then downloaded objects from the server, these objects will have LF line endings instead of CRLF, which will cause compilation errors in the PowerBuilder IDE. If such compilation error occurs, you should set autocrlf to true, download files from the server again, and then compile again. For more, the section called “Get objects from Git” in Users Guide.

  • (Git only) Git source control supports to log in with token.

  • (SVN only) Supports the svn:needs-lock property -- PowerBuilder IDE provides no direct option for setting this property; you can set this property using an SVN client (such as TortoiseSVN), and after that, you can manipulate (such as lock, commit etc.) the object which has the svn:needs-lock property in the PowerBuilder IDE.

  • (SVN only) Supports using multi-languages in Repository URL, Workspace File, User ID etc. when connecting with, uploading to, or downloading from the source control server.

  • (SVN only) Enhances Get Lock to allow users to update the object first before locking the object if newer version of the object exists on the source code server.