1. Mathias Scheck
  2. PowerBuilder
  3. Tuesday, 9 March 2021 10:21 AM UTC

Hi,

I´m not sure if this is a problem by itself, but while testing Git for PB2019 R3 it came to my attention, that changes of .pbl-files (.pbl changes everytime a sub-file of a .pbl is changed, deleted or inserted) are not committed to the source control.

 

Could this lead to problems? Is it possible to also commit the .pbl´s via PB?

In one of many test scenarios i delete a file and comitteded/pushed this deletion to the repo and tried to pull this change on a second "user" which does not made the deletion (but git said, hey it´s all fine). Perhaps it was a config mistake by myself, but I´m worried that this was caused by the uncommitted .pbl

Thanks in advance!

 

Best regards,

Mathias Scheck

 

René Ullrich Accepted Answer Pending Moderation
  1. Tuesday, 9 March 2021 11:09 AM UTC
  2. PowerBuilder
  3. # 1

Hi Mathias,

There is a context menu item "Upload PBL" to commit PBL changes.

But it is recommended to upload only new PBLs (means currently not in repository). PBL files are binaries. So you can't compare or merge it. You will get problems if different developers are working and uploading PBLs on same repository.

The correct way to have the local PBLs in sync is to do a "Refresh". This updates the PBL files from ws_objects directory (e.g. after a pull).

HTH,

René

 

Comment
  1. Carl Bolduc
  2. Wednesday, 19 July 2023 19:51 PM UTC
In that case, shouldn't we just add pbl files to the .gitignore file? It seems wrong to have a bunch of files in the repo that are there but not up to date.
  1. Helpful
  1. René Ullrich
  2. Thursday, 20 July 2023 04:30 AM UTC
This depends on PB version. With PB 2022 there is a new option to generate PBLs from source if you connect to a workspace. So PBL upload to repository should not be necessary: https://docs.appeon.com/pb/whats_new/Source_control_2022_enhancements.html
  1. Helpful 1
There are no comments made yet.
Benjamin Gaesslein Accepted Answer Pending Moderation
  1. Tuesday, 9 March 2021 11:08 AM UTC
  2. PowerBuilder
  3. # 2

Helo Mathias,

PB will not commit PBL changes automatically. Changes will still be available to other developers, a pull/refresh will update the local PBLs from the source files in ws_objects.

You can commit PBLs manually using a git client (or "upload PBL" from within PB) but I generally wouldn't recommend it. PBLs are large binary files and change very often. If you're commiting every PBL change to git, you'll constantly run into merge conflicts.

Comment
There are no comments made yet.
Mathias Scheck Accepted Answer Pending Moderation
  1. Tuesday, 9 March 2021 11:47 AM UTC
  2. PowerBuilder
  3. # 3

Ok, thank both of you for your quick response. The "upload PBL" do work, but the new .pbl´s aren´t properly added to the Target:

 

In my test-project I created a new library "testlib5.pbl" and uploaded it with "upload PBL", which worked fine. The PBL is on the repo (I checked that), but when i try to pull it on the other test-workspace it is not added, because the path to the PBL is not actualized in the Target:

 

 

As you can see, the library isn´t displayed in PB, but it was successfully loaded with Git in the Folder

 

How to update the Target-File?

 

 

 

 

Comment
  1. Benjamin Gaesslein
  2. Tuesday, 9 March 2021 13:08 PM UTC
You just add the PBL path to the library list and commit the target itself.
  1. Helpful 1
  1. Benjamin Gaesslein
  2. Tuesday, 9 March 2021 13:22 PM UTC
PS: you might have to additionally update the PBL-list in the application object, too. You can do that by opening the application object and using the "Deploy" button. Pb will complain about differing library lists and add the new PBL to the application object. You can then save it and commit it to git.
  1. Helpful
  1. Mathias Scheck
  2. Tuesday, 9 March 2021 13:24 PM UTC
Ah, i overlooked that the target itself wasn´t committed and pushed.



Thanks, that resolved my problem!
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.