Which is the best version control tool for Clarion 11 app?

We have current app in Clarion 6 which we are migrating to Clarion 11. We have some short of home grown custom tool to manage code versioning for Clarion 6 app which will not work for Clarion 11.

Is there any tool available from SoftVelocity or any other provider?

If you use apps, the best thing in town is Rick Martin’s source control export/import thing. https://www.youtube.com/live/z8wgTvTptNg?si=lLFRI6ZXbKVP4RwT

@Rick_UpperPark

2 Likes

What about for source code projects?

Mark G has been using sublime for a long time and how does he do version control.

We have very large source code projects which is mixed with C and CPP MS…

Often classes have a dozen or so interfaces and derived from other classes.

Due to recent problems we have gone back to KISS… for clarion…

Everyone I know uses git and host it on either github or bitbucket. Mostly github.

Git is the only way to go, IMO.

There’s a wide variety of what git clients people use. I like smartgit, but it isn’t free. VS Code has an ok git client. Some people just use the command line.

I use SVN, it’s also integrated into the SV IDE. It works well. I also use TortoiseSVN on the desktop, which also makes things easy.
Version control can be a lot of personal preference. Essentially what you get to know is what you end up feeling comfortable with.

Rick Martin’s product is very good.

Highly recommend it.

1 Like

Tortoise git worked OK as well.

I agree that a lot of it is personal preference, but if you don’t have a preference yet and you get to choose, then I would recommend starting with git. I’ve worked for several companies in the last 5 years and all of them used git - either through MS , github, or bitbucket.

Of course I’m biased, but I recommend my Upper Park Version Control addin.
It integrates directly into the Clarion IDE and allows you to import and export your APP files at the module level. I recommend GIT for the source control system, but you can use anything.
Besides the youtube link Jeff posted above, this is a good Clarion Live webinar to review.
http://www.mediafire.com/file/x6s0w7ab3k33ex2/ClarionLive375_20160826_RickMartinUpdateOnVersionControlAddin.wmv/file

Available on Clarion Shop:
https://www.clarionshop.com/checkout.cfm?pid=1419&q=1&

Feel free to ask any questions.

1 Like

I have used SVN and TortoiseSVN for many years. It’s integrated into PHPStorm, so I can commit changes and look at version history inside the IDE. Never used it from the Clarion ID. I’m a one-man show and my repositories sit on one of my computers. It has worked very well for me.

1 Like

Another thing about using source control, is it can go a long way toward code review if you ever sell your business.

Just to mention, there is also an application called teamApp, which was created and is used internally by the company that created Anyscreen (Ris d.o.o.) … Although it sometimes has some strange behavior, with a little control it is reliable. Basically, it works on the principle of comparing the folder with the application on the server and the client, the application automatically creates txa files and then compares them, and according to the selection merges the selected procedures within them. After that, it creates a new .app. Very practical for working in teams, but unfortunately it seems to me that they are not interested in offering it as a separate product for now

I remember Marko Golem demonstrating teamApp at CIDC 2017 along with his resizer.

1 Like

@Rick_UpperPark I would love to use your tool but would like to understand how it is different from other version control tool? (Azure Repo. for example). The only difference I see is the integration with Clarion IDE.

Rick UpperPark plugin is way different because it is not a version control tool. It’s Clarion IDE (and Windows Shell) extension which can help you to export solution APPs to text. In other words, it is a helper/layer between Clarion and version control tool of your choice.

You know, out of the box you can export one APP to one TXA file manually in IDE or ClarionCL command line utility. Furthermore, Clarion IDE can auto import-export APPs to text - one APP to one APV. What basically UpperPark plugin does - split single app APV into multiple files behind the scenes. So, you are getting export APP to text with much better granularity (on module level). If you follow specific naming conventions and one procedure per module rule enforced by the plugin, it helps a lot.

I do highly recommend whatever Git (Github, Gitlab. Bitbucket, Azure…) and UpperPark plugin.

As for Git client program, my personal preference is Atlassian SourceTree.

2 Likes

As Oleg (@FominTools ) pointed out, my solution is not a source control system software. It is the glue that joins the Clarion IDE and binary APP files to texted based APV/TXA files that you can commit to any source control system you choose. I know of developers using cvs, svn, git, Hg, and TFS with my Addin.
Source control systems do not handle binary files well and you lose a lot of the functionality of a source control system if you only commit binary files. By committing textual representation of your APP files, you get the full features of source control. Like branches, merging, comparison of changes between commits, etc.
I also highly recommend using git. I use SmartGit as my client for working with the git repositories.
You are free to develop whatever solution meets your needs.

3 Likes

How do you manage bindary file conflicts in Git? I hosted my App on Azure Git which works best but overrides code whenever there is conflict in binary files (i.e. .obj, .rsc, .app)

I have never had an issue with .obj or other non-text files, but those are normally not diff’d.

(Changing LFS rules can cause some fun conflicts though)

For .app files, you’d definitely want to, at minimum, export to text.

Rick Martin (@Rick_UpperPark ) has a utility that is a must-have when dealing with apps. You can find it on https://www.clarionshop.com/. Just type “upper”.