1. David Serrano
  2. PowerBuilder
  3. Wednesday, 8 March 2023 17:33 PM UTC

Hi, everybody

Since the 2022 version, we've been migrating our projects, but we've encountered that resolving conflicts when merging DataWindows is rather complicated.

I'd love to learn how are other people doing it and if anyone has found a simpler method than just reading the Diff in your app of choice.

(Until now the only alternative we've came up with is exporting both versions of the DW and importing them in the PB IDE as temporary object until we create the definitive version, but it's not the best option also).

Additionally, has anyone found a Diff tool that separates events and functions?

 

Thanks in advance!

Dan Cooperstock Accepted Answer Pending Moderation
  1. Thursday, 30 March 2023 20:00 PM UTC
  2. PowerBuilder
  3. # 1

I also use ProDiff, but I notice it is not listed in the PB Git help topic about "Compare Objects" as a diff tool that is "compatible with Git client 2.0 or later".

Has anyone used it with Git successfully?

My concern is that it's not just DWs that can have their code rearranged. Often, changes to a window or user object (etc.) can cause elements such as functions and objects on the window (and their events) to be rearranged into a different order when you save. Only ProDiff handles that properly and compares two versions of an object with everything in the same order.

So even if there wasn't an issue of multiple users making changes, just to compare what I have changed to the current repository version, if I can't use ProDiff I wouldn't trust that I could reasonably review those diffs before deciding whether to commit them (or whatever that's called in Git, still trying to learn it!).

Thanks.

Comment
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Thursday, 9 March 2023 00:33 AM UTC
  2. PowerBuilder
  3. # 2

Hi,

When editing datawindows, a lot of changes might be caused by simply clicking on some object or "bringing it to front" etc. There's maybe more than one enhancement request to have to datawindow source code in a specific order of objects, but so far nothing has been done.

In my opinion, the best way to avoid merge conflicts is to use exclusive locks or, if your source control doesn't allow that, avoid somehow multiple people editing the same datawindow at the same time. You could have some spreadsheet or database table and a little program, in which people mark that they are working on a datawindow object and aks them to first consult that information before editing. It requires some discipline and organization, but it's not impossible. I do believe that GIT now also allows exclusive locks, though it's probably not free. This is the main reason why I don't like GIT for working with powerbuilder in a development environment, but of course, that's just my personal opinion. For exampe TFS and WizSource are so much easier to work with in my opinion. Don't know about SVN.

regards,

MiguelL

 

Comment
  1. Tomáš Podzimek
  2. Friday, 31 March 2023 09:07 AM UTC
SVN with locks works pretty well. No need to deal with the conflicts if the locks are used properly. We preferred it to Git.

Tomáš
  1. Helpful 2
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Wednesday, 8 March 2023 18:29 PM UTC
  2. PowerBuilder
  3. # 3

Hi, David -

We've used ProDiff (it used to be called PBDelta) as our Diff tool of choice for many years. The author is Ken Howe. His web site is PBDR.com. Diff comparisons for Instance vars, events, methods, and control/DWObject properties are displayed in their own panes. Efficient and easy to use. The tool is admittedly a little outdated, but it continues to work like a champ with the latest PB releases.

   http://www.pbdr.com/prodiff/index.htm

HTH, John

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.