OpenRoad and software versioning and revision control systems

56 views
Skip to first unread message

Mike Dodge

unread,
Nov 5, 2014, 12:05:33 PM11/5/14
to openroa...@googlegroups.com
We are in the process of moving our software versioning and revision control system from RCS to SVN and keep our Openroad components as individual export files.
If we were to export the components as XML files could we use the merge facilties in SVN when a component has been changed by more than one person.

Kim Ginnerup

unread,
Nov 5, 2014, 1:54:11 PM11/5/14
to <openroad-users@googlegroups.com>

Years back I wrote a small openroad program that ran as an nt-service using srvany.
It looked at the system tables using a timer. Everytime it woke up it found all components that had a changed version number and exported them into a directory structure. Each component was named with componentname username of last change and version number and was placed in a subdirectory structure like databasename/applicationname/component.
This worked quite well and didn't cost much to run.
Srvany had been depricated for years but worked anyway. Haven't tried it on windows 8 or server 2012.

Before that I tried to hook into the "check in" so the developers could add some change remarks.
That never worked ok. 
But the service that just run behind the scene, works quite well.

Regards

Kim Ginnerup

Sent from my iPad

Den 05/11/2014 kl. 18.05 skrev Mike Dodge <mike...@gmail.com>:

We are in the process of moving our software versioning and revision control system from RCS to SVN and keep our Openroad components as individual export files.
If we were to export the components as XML files could we use the merge facilties in SVN when a component has been changed by more than one person.

--
You received this message because you are subscribed to the Google Groups "OpenROAD Users Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openroad-user...@googlegroups.com.
To post to this group, send email to openroa...@googlegroups.com.
Visit this group at http://groups.google.com/group/openroad-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/openroad-users/023e734b-aaea-4817-a266-e105f0b46aec%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Christopher Collis

unread,
Nov 6, 2014, 3:14:01 AM11/6/14
to openroa...@googlegroups.com
Hi Mike,

Is this something you have setup or something you intend to? I'm interested in source control for OpenROAD and have been looking at OpenSCM. Do you plan to manually export/import each component from the workbench to achieve what you describe or some other more automated system?

Kind regards,

Chris


On Wednesday, 5 November 2014 17:05:33 UTC, Mike Dodge wrote:

Mike Dodge

unread,
Nov 6, 2014, 4:33:27 AM11/6/14
to openroa...@googlegroups.com
Thanks for replying.
We have our own software to control the checking out processing and checking in of the components. What I am concerned about is that if 2 people change the same component at the same time (we have 2 development sites with separate development databases) when the second person checks the component back into SVN it will attempt to merge the changes. If it does will openroad accept the changes. I know if you tried this on an EXP file it would fail but would it work with an XML file.

Mike Dodge


On Wednesday, 5 November 2014 17:05:33 UTC, Mike Dodge wrote:

Bodo Bergmann

unread,
Nov 6, 2014, 5:55:43 AM11/6/14
to openroa...@googlegroups.com

Hello Mike,

 

This problem is not a problem of OpenROAD (at least since we have the XML export format), but the one of the merging tool, which has to by an “XML aware 3-way diff and merge” tool.

Search the web for these keywords, this will give you lots of information – including the problems involved:

Merging XML is different from merging pure text – XML is structured tree-like, merging XML using pure text merging tools (like the Unix “diff”) can result in invalid XML!

Also, XML can be indented or expressed differently, the sequence of attributes of an element can be different – all this without actually being a difference in the meaning, e.g.:

<a>

     <b attr=’value’>

     </b>

</a>

The same can be expressed as following – in just one line:

<a><b attr=”value” /></a>

 

So, for an XML-aware diff tool this should not appear as a difference, Unix “diff” would consider every line as a change.

So, in connection to “SVN” you have to check what kind of diff/merge tool does it come with.

I assume it just comes with a normal text diff, which might work ok for some cases (i.e. Procedures, IncludeScripts, UserClasses), but not for more complex cases (i.e. UserFrames).

There are XML diff/merge tools available, some of them plug-in with SVN.

 

With the old EXP format diffing/merging was always a problem, as it contained string length for varchar data,
and also contained metadata (usernames/timestamps of creation/change), which are usually handled by a Source Management System.

Therefore it was actually impossible to merge. The XML format was developed to address those problematic items.

But it is still the responsibility of the one who merges it (no matter if done manually or by an automated tool) to provide the correct structure.

OpenROAD allows to import the XML formatted export file, provided it has the correct structure – it does not know how this file was created – using the Workbench, by merging files or by just manually create an XML file using a text editor.

 

HTH.

 

Regards,

Bodo.

--

Bodo Bergmann

Senior Software Engineer

Actian | Engineering

Accelerating Big Data 2.0

O +49.6103.3033.734

www.actian.com

Connect With Us:

http://www.actian.com/wp-content/themes/actian/images/common/connect-icons.pnghttp://www.actian.com/wp-content/themes/actian/images/common/connect-icons.pnghttp://www.actian.com/wp-content/themes/actian/images/common/connect-icons.pnghttp://www.actian.com/wp-content/themes/actian/images/common/connect-icons.png

GESELLSCHAFTSANGABEN: Actian Germany GmbH ¦ Geschäftsführung: Marc Monahan ¦ Sitz der Gesellschaft: Langen ¦ Handelsregister: Amtsgericht Offenbach am Main ¦ HRB 42539 ¦ USt-IdNr: DE252449897

--

You received this message because you are subscribed to the Google Groups "OpenROAD Users Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openroad-user...@googlegroups.com.
To post to this group, send email to openroa...@googlegroups.com.
Visit this group at http://groups.google.com/group/openroad-users.

Mike Dodge

unread,
Nov 6, 2014, 7:04:17 AM11/6/14
to openroa...@googlegroups.com
Bodo

Thanks for that. It was the answer I was hoping for. I will have to investigate our merge tool. At the moment we use winmerge.

Chris
At the moment we use RCS and have an Openroad app that checks out of RCS and then imports the file into our openroad development database. Once the change is done the same app will export the component and check it back into RCS. We are now moving from RCS to SVN but the app process will remain the same.

Mike Dodge

To post to this group, send email to openro...@googlegroups.com.

Chris Clark

unread,
Nov 6, 2014, 2:05:26 PM11/6/14
to openroa...@googlegroups.com, Mike Dodge

Probably worth pointing out (internally) we make extensive use of II_W4GL_EXPORT_INDENTED (see http://community.actian.com/wiki/OpenROAD_New_Features_per_Release/OpenROAD_5.1_New_Features) this results is larger files on disk but they are:

 

1.       easier to visually read

2.       easier to visually (manually) diff

3.       easier to visually diff with pretty/gui diff tools (more on this later)

4.       *sometimes* auto-merge-able with our source code control system merge tool – not always but often enough to be useful

 

For #3, I’ve attached a screenshot (apologies for the size) from our online code review system (we’re using https://www.reviewboard.org/, very easy to get started with and doesn’t impose a huge amount of process out of the box) showing an extract of a diff, where we rely on the indented format so that line diffs work reasonably well:

 

 

As Bodo points out line diffs are NOT as robust as an XML merge/patch tool!

 

Chris

 

 

--

Chris Clark

Manager, Engineering

Actian | Engineering

Accelerating Big Data  2.0

To post to this group, send email to openroa...@googlegroups.com.

Mike Dodge

unread,
Nov 7, 2014, 6:26:07 AM11/7/14
to openroa...@googlegroups.com
Chris

We do as well. Our app can do different diffs, between our dev and test databases and our test database and our version control system. Because we use EXP in our version control system at the moment we have to import the component into a dummy application and then export it again as an XML file which is a bit of a pain. When we move to SVN  we will put XML files into the version control system.


Mike Dodge

On Wednesday, 5 November 2014 17:05:33 UTC, Mike Dodge wrote:

Maxime Richez

unread,
Nov 19, 2014, 5:53:53 AM11/19/14
to openroa...@googlegroups.com
Hi everybody,

I've updated my Office to Office 2013. I often use Excel query builder
to deliver data on excel reports.
With Excel 2013, when i try to refresh data behind a query Excel crash...
Any ideas ? Suggestions ? Help ? :-)
Thanks a lot!

Maxx.
Saluc SA
Belgium
Reply all
Reply to author
Forward
0 new messages