1. Jason Schultz
  2. PowerBuilder
  3. Wednesday, 17 March 2021 18:26 PM UTC

Hello,

I have a question about the behavior we're seeing between our PB environment and SVN.

Background Info: 

     - Our source code repository used to be managed via PVCS, we've since migrated to SVN.  

     - After migrating to SVN, each developer on our team initially 'Connected to Workspace' via PB IDE (pointing to our SVN server), creating a local repository of all objects as well as a ws_objects folder in our local repository.

     - On the SVN server side, we also have a ws_objects folder. We use TortoiseSVN Repository Browser as our GUI utility.

     - Since integrating PB with SVN, we've successfully been able to make a change, perform SVN Commit and have other developers do an SVN Update with no issue. Green dots beside all objects, etc.

 

Observed Behavior:

A co-worker recently made a change to an object (in this case, a DataWindow object .srd).

After performing an SVN Commit, they noticed the following:

     a) All green dots next to objects in PB IDE (as expected). Opening DataWindow object within PB IDE displays expected result (contains latest change)

     b) Toggling over to File Explorer and navigating to the corresponding object (.srd file) that the PB Workspace/IDE refers to, the date/timestamp is older and viewing the object syntax in Notepad still shows previous object code.

     c) Still within File Explorer, drill down into the local repository WS_Objects folder / PBL.SRC / DataWindow object .srd file, it contains the latest datetimestamp and source code contents (same as (a)).

     d) Within TortoiseSVN Repository Browser utility, navigate to the corresponding .srd object, the date/timestamp is older and viewing the object syntax in Notepad still shows previous code (same as (b)).

     e) Within TortoiseSVN Repository Browser utility, looking into the ws_objects folder / PBL.SRC / DataWindow object .srd, it contains the latest datetimestamp and source code contents (consistent with (a) and (c)).

 

After the successful SVN Update, they also performed a full rebuild and deploy. The resulting executable did not contain the latest code enhancement. This is what prompted to examine the above elements, notice the above discrepancy between the various objects, and try to identify where the disconnect may be.

     f) A 2nd developer performed an SVN Update and successfully retrieved the changed .srw, but same results as above (points (a) thru (e)).

 

Expected Results:

     - We thought we had a proper understanding of how we needed to integrate PB with SVN, and the purpose/concept  of the ws_objects folder. Given the above observations, this may not be the case. The ws_objects folder appears to act like a holding place for local repository changes (basically a carbon-copy of what is reflected in the PB IDE). When an SVN Commit occurs, those changed objects in the local repository ws_objects get pushed to the main SVN Repository. This appears to be happening (between the local repository ws_objects and the main SVN repository ws_objects). The thing that is confusing is why we don't see the same latest/greatest change in the PB objects behind the PB GUI and within main SVN repository (b) and (d) above. Are we doing something wrong? I would think after a successful SVN Commit, all would be in sync, and you would see the same thing across the board. We have green dots beside all and have repeatedly tried to do an SVN Update but it acts like all is up to date and in sync. Looking for any assistance / explanation of why we see the above behavior.

I appreciate any feedback and look forward to hearing from anyone with any insight on this topic.

Thanks,
Jason Schultz 

 

Jason Schultz Accepted Answer Pending Moderation
  1. Monday, 5 April 2021 14:43 PM UTC
  2. PowerBuilder
  3. # 1

Thank you for the responses/advice so far, just getting back to this. 

Based on the feedback received, I first tried deleting all objects outside the ws_objects folder within SVN repository browser. After doing so, I wasn't able to successfully connect to workspace via PB. It brought everything down into a local repository, but couldn't expand the tree view beyond the workspace level. It complained about not being able to open the target file and removes it from the workspace. At this point, I can't get it open or re-create a target file, not sure how to proceed from there.  

After some trial/error, I now have it working, but I had to have the following objects outside the ws_objects folder in my SVN repository browser. I understand that they probably don't serve any purpose here (since they also exist within ws_objects):

     - target file (.pbt)

     - library files (.pbl)

     - application object (.sra)

     - project file (.srj)

I think I can remove the application and project files without PB complaining, but was hesitant to do so until reaching out and getting any additional advice. Not sure why I can't establish an initial connection to SVN when the .pbl and .pbt files aren't also outside the ws_objects folder. Just not sure how to get rid of these extra .pbl's hanging around. Any thoughts?

 

Thanks,

Jason

Comment
There are no comments made yet.
Arthur Hefti Accepted Answer Pending Moderation
  1. Thursday, 18 March 2021 04:56 AM UTC
  2. PowerBuilder
  3. # 2

Hi Jason

What do you mean by b) Toggling over to File Explorer and navigating to the corresponding object (.srd file) ?

Are you referring to the files located in the same folder as the PBL? If so these are not used any more with the integrated SVN or git source control.

See as well: https://docs.appeon.com/pb2019r3/pbug/ch01s03.html#d0e3339, Search for ws_objects.

Regards
Arthur

 

 

Comment
  1. Benjamin Gaesslein
  2. Thursday, 18 March 2021 06:33 AM UTC
Indeed. If there are still source files residing outside of ws_objects, delete them and remove them from SVN if they've been added to it.
  1. Helpful
  1. Jason Schultz
  2. Tuesday, 6 April 2021 13:09 PM UTC
Should any files reside outside the ws_objects folder? I can only successfully connect to workspace via PB to SVN when the target file and pbl files still reside outside the folder. If not, then PB says it can't find the target file. Do I need to establish a connection first, then remove afterward? I posted a follow-up on this thread. Thanks.
  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.