1. Jeff Gibson
  2. PowerBuilder
  3. Thursday, 18 January 2024 00:11 AM UTC

Wanted to place some information on what we found that might help others when they are working within a GIT environment.  Running under PowerBuilder 2022 R2 2819.

We had a situation where one of our developers was attempting to delete a multitude of datawindows from a PBL because they were deprecated. His first task was to delete the objects out of source control from the ws_objects directory.  There was roughly 200+ datawindows in the directory and PBL being removed.

We have always used the process of removing the object from source control first.  Then refresh the PBL which in turn clears the "under source control" dot.  It then puts the + sign back as the icon which means we can delete it then.

He deleted over 200+ datawindow objects out of source control. At that point he did a refresh.

What ended up happening was that about 90% of the datawindow objects were removed from the PBL.  Except for about 20 of the datawindow objects.

I think a commit and push may have been missed initially after the objects were removed from the PBL directory under ws_objects.

We finished that.  Didn't matter. Multiple pulls and pushes to make sure that the objects would disappear.  They never did.  The objects that were in ws_objects PBL directory were correct.  But the objects in the PBL were not.  The 20+ datawindow objects ended up having the plus sign next to them, but no matter what we did, we could not delete the datawindow objects out of the PBL.

Obviously the .PBG file no longer exists, so there was no updating that file.  Also, we could not do an edit or edit source on the datawindow objects that wouldn't delete. We ever tried an optimize to see if it would clean up the corrupted objects.  Every time we did an optimize, PowerBuilder would completely crash with no message.

Long story short, I ended up reading this thread. Saw the recommendations of creating a new PBL. We ended up doing that under a clean workspace and target. Renamed the current PBL to .old. moved the new PBL in its place and reopened PowerBuilder.

When it opened, there was the PBL. Empty.  Just like we thought.

Then the fun part.  REFRESH.

Immediately, all the datawindow objects that were in the ws_objects directory appeared in the new PBL.

I digress.  I'm not sure what caused the corruption to happen in the PBL, but if your local repository is clean, then a new PBL and letting PowerBuilder refresh the objects through GIT did a fantastic job!!

This was a follow up from....


However, since it was 5 years old, I figured I would put up a new post with our findings.

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