1. Miguel Alzate
  2. PowerBuilder
  3. Sunday, 22 October 2023 20:02 PM UTC

Hi, all!

When making a change to a function of an user object that is checked-out and comparing differences, it is observed that the code-block of the function moves in its entirety, which does not allow to identify the specific changes made to the function.

I am using PB 2022 R2 Build 2819.

Thank you very much for your help.

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Sunday, 22 October 2023 20:09 PM UTC
  2. PowerBuilder
  3. # 1

Hi Miguel;

  It would really help if you described your SCC environment in detail.

Regards ... Chris 

Comment
  1. Miguel Alzate
  2. Monday, 23 October 2023 17:07 PM UTC
Hi, Chris.



It is PB Native SCC only. My Diff utility configration is a s follow:



"C:\Program Files (x86)\Diffinity\Diffinity.exe" %s %s
  1. Helpful
  1. Miguel Alzate
  2. Monday, 23 October 2023 17:22 PM UTC
Hi Chris.



It's pure PB native SCC. My Diff utility configuration is a s follows:



"C:\Program Files (x86)\Diffinity\Diffinity.exe" %s %s
  1. Helpful
  1. Miguel Alzate
  2. Monday, 23 October 2023 17:52 PM UTC
Sorry for the replication.
  1. Helpful
There are no comments made yet.
Andreas Mykonios Accepted Answer Pending Moderation
  1. Monday, 23 October 2023 06:50 AM UTC
  2. PowerBuilder
  3. # 2

Hi.

I may be wrong but I believe that this is a known issue and it's planned to be addressed in PB 2025 (Appeon Products Roadmap | Appeon -> Minimizing Code Merge Conflicts).

Andreas.

Comment
  1. Miguel Alzate
  2. Monday, 23 October 2023 17:33 PM UTC
Hi, Armeen.



By the way, I see that checking-out objects generates ".sr*" text files that have a predefined character set in PB that, in my case, resolves latin symbols quite cryptic. Is there are a way to configure such a character set for checking-out objects?
  1. Helpful
  1. John Fauss
  2. Monday, 23 October 2023 18:06 PM UTC
How are you viewing the .sr* file(s)? PB should be exporting objects using Unicode 16LE encoding, which PB uses internally. At least, that's what Notepad++ reports when I use it to edit an exported PB object's source file.
  1. Helpful
  1. Miguel Alzate
  2. Monday, 23 October 2023 18:17 PM UTC
Helow, John. Nice to "hear" you.



When comparing objects outside the PB IDE with my diff utiliy, it recognizes the character set automatically and no cryptic latin symbols appear. Not so within the IDE.
  1. Helpful
There are no comments made yet.
Benjamin Gaesslein Accepted Answer Pending Moderation
  1. Monday, 23 October 2023 10:29 AM UTC
  2. PowerBuilder
  3. # 3

Hi Migual,

unfortunately this happens every time a function signature is changed in any way. The only wayto prevent this is to edit the object using "Edit Source" instead. Just make sure the prototype matches the implementation.

Comment
  1. Miguel Alzate
  2. Monday, 23 October 2023 17:13 PM UTC
Thanks, Benjamin. Good to know it has to do wtth function signature. Editing source code is cumbersome but, for now, it's the only choice. Thank you very much.
  1. Helpful
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Tuesday, 24 October 2023 02:10 AM UTC
  2. PowerBuilder
  3. # 4

One major advantage of using a Diff utility that understands how PB source code is structured (such as the admittedly aged ProDiff utility), is that it performs the Diff analysis on each method separately instead of on the entire exported source file(s) - All of the syntax in the object still gets analyzed and compared, but the comparison results are organized in a way that makes sense to a PB developer. The relative ordering of the methods within each object becomes immaterial.

Another alternative you could try is to do your modifications in PB as normal, but when you want to perform a Diff comparison, you export the source in both objects, edit the source of the modified object, and move the object functions and events around so that the order corresponds with the older version of the object. The event and function prototype declarations can also be reordered. This can be a little tedious, but it's not overly complicated. I suggest you practice on the exported source of several objects of increasing complexity to get a feel for the effort that would be required.

Yet another option would be to write a little utility that identifies each section and method within an exported source file and writes declaration section and method to its own file in a temporary "comparison" folder. You could also simply do this manually if you don't want to create a utility that does it for you. Once broken down into method and declaration sections (files), the Diff utility of your choice could be used on each piece. Object source syntax is pretty well-organized and the sections are easy to identify.

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.