I am a developer here in South Africa. My Dad was one of the first Indian Developers in South Africa, and he Programmed on Clarion until his sudden passing on 10 July 2023. (Aged 67) My dad and I were in the business together , and i am a web and mobile apps developer. I used to also to the support for my dad’s clients, he has clients that are 25years on clarion .I never did any serious development on clarion and now i have been put in an extremely difficult position to maintain his clarion apps, as they are all Business systems, Mainly POS type , so peoples business are highly dependent on them .
I dont have the luxury to only focus on leaning clarion as i have my own client base that i need to do development for to survive.
So you will be seeing my name a lot on this forum, and i would greatly appreciate your patience and help with my questions.
My dad did not use source control , i am used to git. can somebody please provide me with a sensible .gitignore file to get started
Sorry for you loss.
Version control with pure git does not work out of the box, as the .app files are binary files and git is text optimized.
See this thread
I am a single developer, so I just use my backup history to compare or roll back when needed (Had some really bad experience with the Clarion generated text import and export back in the Clarion 6 days)
I’m sorry for your loss.
I strongly encourage using Git with clarion.
While it’s most natural when working with projects that don’t use APPs or DCTs, you certainly can use git with APPs and DCTs. @Rick_UpperPark has even written a tool to help you work in exactly that environment.
I don’t use APPs or DCTs - which is known as hand coding in the clarion world.
So I’ll step back and wait for someone who uses Rick’s tools to comment.
I won’t object. I have all my .NET and Java work in github and couldn’t work without it. Not using it with Clarion was a result of a) bad experience with lost code due to problems with export/import txa b) SoftVelocity removing source control from IDE.
I might take a developers day to see what benefit I can get of it. Change history per app could be nice instead of relying on my (usually excellent) memory.
Based on my experience over the past five years or so, I can confidently say that Rick’s tool ensures that no code is lost during the export/import process. Each procedure in the application is exported to its own APV file (TXA but renamed), along with two additional files for the globals and global options. To maintain a clear timeline in your repository, it is advisable to perform regular exports and commits of the code.
However, it’s important to note that this particular aspect of source control may not provide significant value in terms of maintaining a comprehensive history of your changes. The Clarion IDE introduces a lot of changes when exporting procedures, even in procedures you haven’t directly worked on. Fortunately, these changes can be disregarded before committing.
In terms of Clarion source code history, I highly recommend that every developer, regardless of whether they choose to use source control for their applications, make changes to the global RED file or create a local one for their solution. This will allow all generated code to be placed in a subfolder within the solution folder. Personally, I have a build event that copies these files elsewhere, and I commit to a different repository. I do this to avoid committing generated CLW and INC files with the application repository.
If you’re not currently utilizing source control, you can simply create a repository in this source folder and commit regularly. This approach will provide you with a good understanding of the project’s history and the changes you have made.
Considering the cost of Rick’s tool, I strongly suggest taking the leap and implementing source control for your applications. The ability to branch, track history, revert changes, and merge code is highly beneficial and well worth the investment.