You can find a good short course on this topic in UiPath Academy. Course name is:
Automation Version Control Systems. All three (GIT, TFS and SVN) are very well integrated in UiPath, so it is easy to get started than if you used one of these version control systems outside UiPath
To start of, I have no idea about SVN, I think it will surely be phased out as not many developers use it these days. I and my team have used both GIT and TFS within UiPath. Here is a short overview.
GIT: It is a decentralized version control system. Definitely great choice if you have larger teams and have a dedicated resource to help maintain projects.
- Lot of resources to learn and quite easy to get started
- Easy to further integrate with DevOps
- Every developer has a local copy of the project
- A developer can continue working even in offline mode / no need of internet connection
- Yes GIT is free and you can have private repositories. See free subscription limits.
- If two UiPath developers work on the same file and push two different version, someone or one of them has to audit the files and merge these to the final dev or master branch (time consuming)
- On-Prem solution might not be so justifiable because it can cost a lot in the long run
TFS: A centralized version control system. This is not as popular as GIT these days, but has its own set of advantages. I do prefer TFS over GIT.
- Two developers can never open the same .xaml file simultaneously, this is great advantage over git, which ensures you dont need to worry about any pull-requests aka (which version to use)
- If a developer has opened a file and another developer tries to open the same file, they get an alert saying exactly which developer is currently working the file.
- Easy to set up on-prem environment and can be linked to Active Directory if you are using Office 365 / Azure subscription already
- Yes this is free too (via Azure DevOps) and you can have private repositories like GIT. See here for limits to free version.
- You need to be always connected to the TFS, meaning, you will need to be online!
- I would say the TFS integration with UiPath is buggy and when there is a folder or file clash, its quite scary to not know what happened. Did my work save?! We have had very scary moments with this.
In my company, we use TFS. We chose to use Azure Devops as our platform, which supports both GIT and TFS repositories. This way, if our team expands with many developers we can easily migrate to GIT if and when needed. In addition, if we think of using all phases of DevOps later as shown by Andrei Barbu from UiPath.
Hope this helps! Its been a long post, but I did want to share my experience so that you can weigh your options