Topic
IC4NOTICE: developerWorks Community will be offline May 29-30, 2015 while we upgrade to the latest version of IBM Connections. For more information, read our upgrade FAQ.
7 replies Latest Post - ‏2014-02-04T15:21:01Z by russelgorton
SystemAdmin
SystemAdmin
225 Posts
ACCEPTED ANSWER

Pinned topic Is anyone using Git as the source safe for RPG and other source on iSeries

‏2013-04-02T15:11:09Z |
Our web developers are going to use Git as the source file repository for the code. I'd like to do the same for the RPG, DDS, and other iSeries source files.

Is anyone doing this? Is there a roadmap for doing this or is this to difficult to do?

Our developers are always stepping on each other.

thanks
Updated on 2013-04-03T14:53:49Z at 2013-04-03T14:53:49Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    225 Posts
    ACCEPTED ANSWER

    Re: Is anyone using Git as the source safe for RPG and other source on iSeries

    ‏2013-04-02T18:33:19Z  in response to SystemAdmin
    Since you are 'stepping on each other' it sounds like you don't have any source control on the IBM i. Moving from no SCM to SCM is a culture shock that many have gotten past, but it is a shock. Many SEU users like to keep 'old' code hanging around by commenting it out. We use the date changed column to have a hint what happened to a particular line of code. These are no-nos in the SCM world. We use the SCM tool to find out what happened to a given line of code and we certainly don't comment out code - we delete it and trust the tool. ALL OF US. SCM can't work if there is even one programmer who goes his own way - everyone MUST use the tool or it's no good to anyone.

    Going from no SCM to a stream file based SCM like Git is really going to be a shock. You'll lose the last change date as well as the source member text because these pieces of metadata aren't stored in a stream file. The good news is that lots of people are using Git. The bad news is that none of them have heard of IBM i. You'll need to put together some means to move DDS and CL source from the Git repository up to the IBM i because CRTCLPGM and CRTDSPF don't have STMF() parameters like CRTBNDRPG does.

    There are other open source SCM tools besides Git. Git is 'distributed' - everybody has their own repository and the changes get merged. There are client-server applications which have a single repository that everyone connects to. Subversion, CVS, Rational Team Concert are all examples of this.

    Finally, understand that source control only solves a part of the software development life cycle problem. Imagine that you change the DDS and RPG for something and you recompile the DDS but not the RPG. You'd get a level check when you ran the RPG program. A full change management system would handle this and promote all the related objects together. There are dedicated IBM i change management systems which are aware of the specifics of IBM i - source files and members, libraries and objects.
  • SystemAdmin
    SystemAdmin
    225 Posts
    ACCEPTED ANSWER

    Re: Is anyone using Git as the source safe for RPG and other source on iSeries

    ‏2013-04-03T12:51:47Z  in response to SystemAdmin
    I understand the "difficulty factor" with Git or any CVS but does anyone do this with iSeries code? How does one work in this kind of environment, a road map of sorts? Or is IBM just avoiding dealing with the change management sellers that make their money from their product?

    I'm looking for an open source solution for managing code development on iSeries.

    Thanks
    • SystemAdmin
      SystemAdmin
      225 Posts
      ACCEPTED ANSWER

      Re: Is anyone using Git as the source safe for RPG and other source on iSeries

      ‏2013-04-03T14:37:36Z  in response to SystemAdmin
      > does anyone do this with iSeries code

      A few.

      > How does one work in this kind of environment, a road map of sorts?

      There isn't a road map for several reasons.
      1) There aren't that many adopters
      2) There aren't that many adopters who share
      3) Each install is virtually unique (because of the small sample size) See this old note for context: http://osdir.com/ml/git/2009-05/msg00869.html

      > Or is IBM just avoiding dealing with the change management
      > sellers that make their money from their product?

      I don't understand this. What is IBM's fault? The midrange marketplace simply isn't interested in SCM.

      > I'm looking for an open source solution for
      > managing code development on iSeries.

      The short answer is that there isn't one. That's mostly because there isn't an IBM i open source space. The number of active IBM i open source projects is very small; certainly fewer than 10 have activity in the past 30 days. No one is interested in contributing to a project like adapting Git for IBM i, although there are a few people who are doing it. Either they haven't got the time or the inclination to share their work with the community, I don't know.

      I can't use Git where I work because I can't get everyone on board with the idea of locked down source. I haven't done deep research on Git, although I did have SVN running on my IBM i for several years for my own projects. If I wanted to research the idea further, I'd start with the forums at http://www.midrange.com as well as the Young i Professionals (http://youngiprofessionals.com/wiki/index.php/PASE/OpenSourceBinaries)
      • WarrenTea
        WarrenTea
        2 Posts
        ACCEPTED ANSWER

        Re: Is anyone using Git as the source safe for RPG and other source on iSeries

        ‏2013-04-20T00:11:35Z  in response to SystemAdmin

        I too have been seeking others who use Git with IBM i development.

        I currently import my source into i-projects in RDP, and use EGit/JGit on my own PC within RDP, until the code is put into production.  We use a homegrown system for check-out/in, archiving, and source + object deployment from development to production, but it has its issues.

        I'd like to convince my department to use Git but it is an uphill struggle.  The .NET team is now using SVN, which could also run on the i.  So getting Git or JGit to run on IBM i would be fantastic, if we could just find a good resolution to the sequence number / change date issue.

         

        Updated on 2013-04-20T00:27:27Z at 2013-04-20T00:27:27Z by WarrenTea
        • russelgorton
          russelgorton
          1 Post
          ACCEPTED ANSWER

          Re: Is anyone using Git as the source safe for RPG and other source on iSeries

          ‏2014-02-04T15:21:01Z  in response to WarrenTea

          90% of our code base is already in Git (Java, SQL stored procedures) so I am I'm trying to get the few RPG programs in there as well.  

          It seems like RDP/EGit is the way to go.  However I am having problems getting the plugin to install.  I am using RDP 8.5, I went to Install New Software and selected all sites then searched for EGit.  It finds Eclipse EGit (incubation) v 0.11.1.  I mark that for install but it gets to around 42% and keeps trying to fetch something from org.eclipse.mylan and it just keeps retrying this url and stays at 42%.

          How did you install EGit?  I'm trying a bunch of things and any tips would be appreciated.

          Updated on 2014-02-04T17:04:49Z at 2014-02-04T17:04:49Z by russelgorton
    • SystemAdmin
      SystemAdmin
      225 Posts
      ACCEPTED ANSWER

      Re: Is anyone using Git as the source safe for RPG and other source on iSeries

      ‏2013-04-03T14:53:49Z  in response to SystemAdmin
      We did not have the budget to go with commercial source code management, but I knew we could not risk NOT having some sort of source code management in place. So, we built our own source code management tools (called SrcArc), primarily using custom code but integrating a couple of other open source tools. A couple of the features, as currently implemented, use newer features of the database, like the ability to use 3-part file names in SQL to work with tables on another system.

      Current features:
      - Check out/Check In
      - Promotion from development box to production box
      - Ability to lock developers out of production (only changes possible through use of Promotion)
      - Automatic versioning of source using triggers and cross-system SQL
      - Integration with our help desk management tool via JDBC (must have open task to check out source)
      - Automatic attachment of change reports to help desk ticket via emailed PDF
      - Integration of freeware precompile script (modified a bit to play nice in an RDP environment)

      Non-open source components:
      - Help Desk software is Ontime (www.axosoft.com), which uses a SQL Server database. SrcArc uses a service program as the back end, so that could be changed to make the Open Task Check database agnostic.
      - Emailing of PDFs is currently handled by SpoolMail (www.gumbosoft.com). There are free options for PDF creation and email, and built-in support for PDF creation in later releases of the OS, so SrcArc could be changed to eliminate the use of SpoolMail if not available.

      If you wanted to collaborate on preparing this for more general, open source distribution and use, I would be willing to help.
  • SystemAdmin
    SystemAdmin
    225 Posts
    ACCEPTED ANSWER

    Re: Is anyone using Git as the source safe for RPG and other source on iSeries

    ‏2013-04-03T14:52:17Z  in response to SystemAdmin
    thanks for input