Anyone who is developing software, even if they are the only person working on the project, should be using source control (aka as version control). As you can see, this comes up a lot:
- Source control webinar
- Getting to Know Git, part 1 webinar
- Getting to Know Git, part 2 webinar
- Saving your Sanity with Git for Source Code Management XDC 2015 session
- Using Git with Xojo
- Mercurial and Xojo
Source control tracks your changes, can serve as a backup and allows you to try new and different things without fear of completely breaking your code (because you can always go back to a prior, working version of the source).
Since we talk about why you should be using source control so much, I thought I would point out some companies that provide hosted source control and some tools to help you use source control with Xojo.
Now remember, you can use Xojo with any source control system, but you’ll want to use the Text Project format which is available in licensed versions of Xojo (Desktop and higher). The Text Project format is not available with Single Desktop or the Free version of Xojo.
Subversion is an open-source version control system made by the Apache folks. It is widely used and relatively easy to understand, using a centralized server as the master repository (or repo) for your source code.
You’re likely to want to use a Subversion client app to make working with Subversion as easy as possible. Here are some that are available:
- Xversion (Mac)
- Versions (Mac)
- Cornerstone (Mac)
- SmartSVN (Mac, Windows, Linux)
- TortoiseSVN (Windows)
Git is a “free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency”. With a distributed system, the full repo is available at each user. You can commit locally before pushing changes up to a central server for others to see.
And here are some Git clients:
- SourceTree (Windows, OS X)
- GitHub (Windows, OS X)
- Tower (OS X)
- TortoiseGit (Windows)
- SmartGit (Windows, OS X, Linux)
Learn how to Start and Open-Source Xojo Project on GitHub.
Mercurial is a “free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface”.
- BitBucket (free plan available)
Which Should You Use?
There is no right answer to this question. I have used Subversion and Git (and others), but not Mercurial. In my opinion, Subversion is easier to learn than Git, but it is less flexible. These days my preference is to use Git.
Of course, there are lots of other source control systems that exist, but the above are the major ones. If you are already using another source control system with other tools, rest assured that it will also work just fine with Xojo.