Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

SVN info in source code $Rev$ / professional SVN hosting

Strucc
2015-03-27
2015-03-29
  • Strucc - 2015-03-27

    Is there any way to include the revision information into the source code, like i did this with MS developer studio?

    $Rev$ is automatically replaced with the actual revision information... What should I do to make this operational?

    Also, I'm interested, if someone could recommend a high quality SVN hosting site. Free or commercial / just be perspective.

    In many situations PLC applications are developed by individuals, small companies. It's important to ensure the customer, that the source code of their application is saved, and backed up in a safe location. If the original author is not available for some reasons (death, working abroad, etc...), the preserved source code of the application will be available for the customer, or a trusted programmer.

    Any ideas from 3S to host such a "CODE SAFE" service?

     
  • Anonymous - 2015-03-27

    Originally created by: M.Schaber

    Hi, Strucc,

    Strucc hat geschrieben:
    Is there any way to include the revision information into the source code, like i did this with MS developer studio?
    $Rev$ is automatically replaced with the actual revision information... What should I do to make this operational?

    We did not implement keyword replacement, as this would be somehow risky to implement for some object types, and because even the SVN developers nowadays recommend to use other methods of including the version information. The keyword substitution was implemented in SVN because the very same mechanism existed in the predecessor CVS, but it has some serious drawbacks.

    svnversion tool.

    In CODESYS SVN, we imitate this functionality by providing the SVN_VERSION_INFO object which provides the SVN version information, so it can be referenced by the IEC code:

    Strucc hat geschrieben:
    Also, I'm interested, if someone could recommend a high quality SVN hosting site. Free or commercial / just be perspective.
    In many situations PLC applications are developed by individuals, small companies. It's important to ensure the customer, that the source code of their application is saved, and backed up in a safe location. If the original author is not available for some reasons (death, working abroad, etc...), the preserved source code of the application will be available for the customer, or a trusted programmer.
    Any ideas from 3S to host such a "CODE SAFE" service?

    As far as I know, all "free" hosting services are only available for somehow open source projects, in other words, the repositories are in public. I'm not sure whether your customers will accept that kind of condition. Additionally, I'm not sure which guarantees they give with respect to availability and backups.

    As an employee of 3S, I'm not entitled to officially recommend or endorse any 3rd party hosting service for SVN. Also, I don't have any personal experience with those services. That said, I'd personally try http://www.cloudforge.com/ or https://sliksvn.com/ for the sole reason that they pay or support SVN core developers, including the one responsible for the SharpSVN library which we heavily rely on in our CODESYS SVN AddOn.

    List like the Subversion (SVN) Hosting Comparison

    There also may be some alternatives:

    One solution may be to host your own SVN server on a public server (any linux box with a recent distribution should do). You can set up http(s) or svn+ssh-Access with strong authentication to keep "bad guys" away. However, you still need to care for a backup in those cases.

    master slave replication mode, or a read-only mirror at the customers site.

    backups of the repository or data dumps using svnadmin dump or svnrdump to the customer - this can even be automated using a script which creates the dump and sends it to the customer, or it can be integrated with the backup mechanism for the repository server - just add another backup location which is accessible to the customer.

    IMG: svn_version_info.png

     
  • Strucc - 2015-03-27

    M.Schaber hat geschrieben:
    Hi, Strucc,
    We did not implement keyword replacement, as this would be somehow risky to implement for some object types, and because even the SVN developers nowadays recommend to use other methods of including the version information. The keyword substitution was implemented in SVN because the very same mechanism existed in the prececessor CVS, but it has some serious drawbacks.
    ...
    There also may be some alternatives:
    One solution may be to host your own SVN server on a public server (any linux box with a recent distribution should do). You can set up http(s) or svn+ssh-Access with strong authentication to keep "bad guys" away. However, you still need to care for a backup in those cases.
    One other solution may be to set up the SVN server in a master slave replication mode, or a read-only mirror at the customers site.
    Another solution may be to regularly send backups of the repository or data dumps using svnadmin dump or svnrdump to the customer - this can even be automated using a script which creates the dump and sends it to the customer, or it can be integrated with the backup mechanism for the repository server - just add another backup location which is accessible to the customer.

    Thanks for the very practical reply!

    As for the "CODE SAFE" service: I know, and have many ideas to implement this with various software tools, existing services... I'm mostly concerned about a "legally certified" solution regarding the "lifecycle management" of automation software applications... This might be a new area to pioneer, and 3S seems to be a good company in leading "standards"...

     
  • Anonymous - 2015-03-29

    Originally created by: M.Schaber

    Hi, Strucc,

    Strucc hat geschrieben:
    As for the "CODE SAFE" service: I know, and have many ideas to implement this with various software tools, existing services... I'm mostly concerned about a "legally certified" solution regarding the "lifecycle management" of automation software applications... This might be a new area to pioneer, and 3S seems to be a good company in leading "standards"...

    Thank you for that suggestion, I'll forward it to our product management.

    My thoughts on this are:

    We will most likely improve in the area of the tools we provide for lifecycle management - for examle, we continously improve our Test Manager and the SVN and Static Analysis plugin, and we're working on some guidance how to integrate CODESYS with Continous Integration servers like Jenkins etc. On the other hand, I doubt we want to develop and provide tools like a ticket / bug tracking system or our own revision control system - there are enought existing systems which are both useable by the automation industry and already proven in other markets.
    I personally also doubt that we want to to into the service provider business of providing hosting services (which nowadays are called "cloud" for whatever reason .), this is just to far from our core business of software development. That said, I think we may partner with companies which are already established in those markets to provide solutions which are tailored to the needs of the automation industry.

    So far my thoughts - I will talk to our product management and company leaders about this topics, and we will see...

     

Log in to post a comment.