Hi,
As of now, I'm using DecodePC with ProcessToFile only to compare two versions of a project.
I see each key makes a directory, which makes a lot of browsing to find a single file, of which the name bears little information (OnExecute, FieldChange...)
Also, for SQL files, the file is always named with the 1st key, which makes sense for record view and standalone SQLs, but not for AE SQLs
for instance:
I made changes to DirTreePTmapper's getFile and getFileForSQL to flatten the directory structure (keeping only "types" directories) and have a more explicit filename.
For instance
Component_Record_Field_PeopleCode\GPFR_DSN_EVT_RUN\GBL\DERIVED_GPFR_AF\GPFR_AF_EXTRACT_ID\FieldChange.pcode
becomes
Component_Record_Field_PeopleCode\GPFR_DSN_EVT_RUN.GBL.DERIVED_GPFR_AF.GPFR_AF_EXTRACT_ID.FieldChange.pcode
Faster to get there
SQL_AE\GPFR_AF_AE\ADDPARM\Step30\D\GPFR_AF_AE.sql
becomes
GPFR_AF_AE.ADDPARM.Step30.D.sql
Would you merge this change into your code? I understand this may break running installs working with svn/git, so there may be a flatDirectories property to add.
A more advanced version would allow to setup the program to break at this or that key, but that becomes intricate.
Regards
Thanks for your contribution. As you've indicated, it would not be a good idea to just implement this change, as existing SVN/Git users would suddenly lose all continuity in their repository history. It would have to be coded in another class implementing PToolsObjectToFileMapper, and activated through a configuration option.
The problem for me, however, is that I've left the PeopleSoft world and don't have access to any PeopleSoft systems; therefore, I can't do any testing. I'm actually trying to wrap up the project, once a change by another user has been integrated, and I'll be looking for someone to take over the project.
Incidentally, I think you are using the tool the wroing way if you want to compare different versions of your code. If you are just comparing projects, you might as well use app designer to compare exported projects. My advice is to use this tool to export the code to Subversion or Git; there's a plethora of excellent tools our there that will then allow you to view diffs between commits, and you typically won't have to navigate a lot to see the various files.