Using Git with Xojo Projects

I’ve been using Git as a source control system for our Xojo project for at least the last 5 years. Of course, to maximize the usefulness of Git with Xojo, we use the text-based Xojo Project format. We have a pretty big project with over 300 classes and lots of additional image and other resources included in the project.

My question for the Xojo community is this – Is it normal that the IDE is constantly adding/removing/modifying various property values from the written project files, even when those properties and/or files aren’t even being touched?

Here are a few specific examples:

(1) When I modify a single class in our project and then save the project, several other class files will be rewritten with the line index = -2147483648 added to seemingly random objects throughout the project. We’ll accept that change and push it into our Git repo. Then days later we’ll make other changes to the project and the IDE will write the project with various instances of index = -2147483648 removed from the project. This is very strange – it keeps randomly adding and removing this property value to random objects in our project. None of the objects it adds/removes it from are Control Sets (which are what use the Index property). This just keeps polluting our Git repos with lots of what we affectionately call “Xojo Gack”.

(2) Like above, a second weird thing keeps happening. When we modify some files, the IDE will decide that the value of TabStop = True needs to be replaced with TabStop = "True". Notice the difference: in one case True is a boolean, in the other case "True" is a string. Then, days and sometimes weeks later the IDE will then replace some of these lines back to TabStop = True. It seems to pick random instances of the TabStop property and oscillate them back and forth between booleans and strings.

This Xojo project was started way back in the RealBasic days. It’s grown into a very large and robust app. But, the amount of IDE “noise” we keep getting in Git has been annoying us for a few years. I just wanted to know if anyone else out there who is using Git with a Xojo Project is experiencing the same issues.

If anyone else is seeing this, then I’d be happy to report it as a bug!

Thanks for your input!

This is a known and long-standing problem. See, for example, [https://xojo.com/issue/28113](https://xojo.com/issue/28113)

But, little by little, they are making progress in eliminating the issue.

The bigger issue with Xojo and Git is, that you always have to reload the project whenever you’re switching a branch.

Thanks for the feedback. Now I see that this has been frustrating others as much as it has frustrated us. We’ve up-voted all of the open bug reports we could find on the issue. :slight_smile:

2 Likes