tags:

views:

520

answers:

1

How do you organize your RPGLE subversion repository on IBM i ?

I'm currently working in a travel business company that has a vast amount (about 13k) of RPGLE - sources for their in-house application and finally they want to use version control and adopt a more modern style of coding (the whole WDSC - RDi stuff).

So my all-the-time-project is to sanify and modernize the whole coding process bit by bit.

The open source subversion for OS/400 works like a charm with just 2 minor issues during install.

I have a pretty good image in my head how it should work, but i think it breaks with some traditions, so i want your opinion.

/subversion/repositories/{name of the in-house-application}
   /{project_a}
       /trunk
           /doc
           /sql
           /{a source file that is named like the project. i.e. project_a }
               /myRPGsrc.rpgle
               /myCLLEsrc.clle
               /myDDSsrc.dspf
               /myDDSsrc.pf
               /compile.clle
            .iseries_project_properties
            .project
       /branch
       /tag
   /{project_b}
   /global_stuff
   /nightly_build

So the main difference would be not having different source files like QRPGLESRC, QCLSRC, QDDSSRC and the like and instead one sourcefile that contains all project sources and can be checked out as an WDSC-project. The project-sourcefile could also easily be named "src" like it is common on other repos, but in case some developers would want to check out multiple projects into /QSYS.LIB/SOMELIB.LIB/ they wouldn't have to worry about namespaces themselves.

So what do you think? is it hybris? do you see problems? Do you have already some experience? please share! :)

+1  A: 

How are the source and objects currently organized? Would you want to set up Subversion to work with the current library structure instead of creating this new IFS directory structure?

I'd suggest using object types (pgm, file, cmd, pnlgrp, sql, etc.) for file extensions instead of source file types (rpgle, clle, sql, etc.). You could have xyz.rpgle and xyz.clle sources in conflict as they both compile to XYZ *PGM.

Paul Morgan
Currently there's 1 src lib and a few obj libs. it should work to check out into tmp libs. My shop uses a strict obj naming. I recognized the conflict potential, but as all pgmrs are used to naming rules i just modified the existing ones a bit to avoid conflicts by cutting the objname 1A.thx :)
squarefox