1. Jason Schultz
  2. PowerBuilder
  3. Wednesday, 14 April 2021 19:10 PM UTC

Existing environment:

- PB2019R2 (build 2353)

- SVN Server 1.10.6 (r1863367)

- TortoiseSVN 1.9.7.27907 (64-bit) client used on developer boxes

Recently migrated from PVCS to SVN. Initially, we ran into some issues/confusion with PB objects residing in both the ws_objects folder and also outside of this folder (remnants of old PVCS). Since, we've cleaned up our objects and recreated our source control repository.

Current Issue:

If I Open PB IDE, and do a Connect to Workspace (to create local repository with latest/greatest from SVN), my local repository is created and when I view the workspace in PB IDE, everything has a green dot beside it. When I open up an object (that I know was changed), I don't see the latest/greatest rendered in the IDE. If I view the object within the ws_objects folder in notepad, it is correct.

I then have to do a right-mouse button click on the target and choose 'SVN Update'. This will spawn a bunch of warning messages: 'An explicit update tried to update the path [xxxxx] that doesn't live in the repository and cannot be brought in.'. I then see Importing/Compiling/Regenerating/Successful get message for the object(s) I expected to get the 1st time. 

Why do I have to do an SVN Update immediately after doing the Connect to Workspace? Shouldn't I have already been given all the latest/greatest (HEAD revision from SVN)? We only achieve a successful get by doing an 'SVN Update' at the target level. If I do it at the workspace, .pbl, or individual object, I get a false success message (expected change not there). BTW, the PB Help implies that all of these actions yield the same result (which doesn't seem to be the case).

Aside from the 'SVN Update', we also tried Refresh with no noticeable improvement. But, I think Refresh is just for identifying changes made outside the PB IDE. We are strictly trying to utilize IDE only (trying to keep things straightforward for our developers with using SVN Commit and SVN Update).

Sorry for the frustration, but this PB/SVN integration has been squirrelly at best and hasn't given us much confidence in our source control system. Just seems like still a disconnect between PB/SVN. I really hope it's user error or configuration preventing us from feeling better about this. Any pointers or advice? Please let me know.

I also understand that upgrading to PB2019R3 may be helpful in some ways, but unaware of the specific SVN upgrades in that version.  

Again, any help is appreciated.

Thank You,

Jason Schultz

Accepted Answer
Tom Jiang @Appeon Accepted Answer Pending Moderation
  1. Thursday, 15 April 2021 02:46 AM UTC
  2. PowerBuilder
  3. # Permalink

Hi Jason,

You need to do a refresh for the first time after connect to workspace. This is done automatically by default in the latest PB 2019 R3. 

The 'An explicit update tried to update the path [xxxxx] that doesn't live in the repository and cannot be brought in.' issue might be that you have PBLs that are not inside the workspace folder. Or you have uppercase letter in your workspace folder path and this issue has also been fixed in the latest PB 2019 R3. 

Overall, we suggest that you upgrade to the latest PB 2019 R3 to better work with SVN. 

Regards,

Tom Jiang

Comment
  1. Jason Schultz
  2. Thursday, 22 April 2021 13:33 PM UTC
Tom - Thanks for the suggestions. This helped resolve some of the issues when working with PB2019R2.

We're currently looking into upgrading to PB2019R3. Hopefully, upgrading to this version will eliminate the need to perform any secondary/redundant actions moving forward.



I do have some additional questions:



1) Can we use PB2019R2 and PB2019R3 simultaneously with SVN? We have several developers and we all may not be upgrading at the same time. Also wanted to evaluate how 2019R3 acts with SVN prior to suggesting everyone upgrade.



2) After performing an initial 'Connect to Workspace' (to create local SVN repository, ws_objects, etc), how should we continue working with our workspaces from that point? Do you continue doing 'Connect to Workspace' or just 'Open Workspace'? Also, how do you ensure you have the latest code from the SVN server? Should you always do a right-mouse button click 'Refresh' at the top workspace node in the system tree? We're confused on how to use Connect to workspace and Open workspace when using SVN.



Thank you for your assistance,

Jason Schultz
  1. Helpful
  1. Tom Jiang @Appeon
  2. Friday, 23 April 2021 05:01 AM UTC
Hi Jason,



Thanks for your feedback!



Regarding your other questions:



#1

It's generally not a good idea to use different versions or even builds among the team. The IDE was not designed to handle this scenarios. Especially when there are some major changes in PowerBuilder 2019 R3, like the separation of runtime from IDE.



However, due to this change, since 2019 R3, you will be able to use difference versions of IDE with the same runtime version. Which means if you all upgrade to 2019 R3, in the future if you have an bug like this with the IDE, you can upgrade the IDE separately and still be able to work with other developers who don't want or need to upgrade. But this feature doesn't work with runtime versions prior to 2019 R2.



So I suggest that you use a separate branch or repository for your 2019 R3 evaluation.



#2

After you connected to workspace for the first time and refreshed, you don't need to connect again. Actually you won't see the option again. You basically work offline until you do an update or commit. The update will also auto refresh. The only time you need a manually refresh is when you edit some object manually outside the IDE, so you use the refresh to bring the change into the IDE. BTW, refresh is also an offline operation. It doesn't connect to the server.



Regards,



Tom Jiang
  1. Helpful
There are no comments made yet.
Jason Schultz Accepted Answer Pending Moderation
  1. Friday, 16 April 2021 15:36 PM UTC
  2. PowerBuilder
  3. # 1

Tom - 

Thanks for the suggestions. I did the following:

1) Renamed a number of folders in our SVN repository to ensure no uppercase.

2) Deleted my local repository and re-created it by doing a 'Connect to Workspace' within PB IDE, followed by a right mouse button click 'Refresh' on the top-level workspace node in the system tree.

Looks like the Refresh identified several objects that had changed and imported/compiled/regenerated this objects successfully.

At this point, it's probably not necessary to do an 'SVN Update' at the target level (since it appears the Refresh did the same thing), but I did that, too. I get a quick success message, but no error messages this time stating 'An explicit update tried to update the path [xxxxx] that doesn't live in the repository and cannot be brought in.'. So, I guess the lowercase helped resolve this. Weird. 

In any event, we're currently looking into upgrading to PB2019R3 to maximize our compatibility with SVN. Hopefully, upgrading to this version will eliminate the need to perform these secondary/redundant actions moving forward. 

 

I tagged your initial response as a resolution for PB2019R2 and SVN. I also posted some additional questions for you in the comments of your post. Looking forward to getting more details.

Thanks again for your assistance,
Jason Schultz

Comment
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.