SVN Blog Post – Prosthetic Arm Fall 2016
The team is using SVN -a Windows shell extension, to keep track and share all the designs, code, presentations and documentation of the project. Although the team is still getting familiar to the way the shell documents files, it seems to work fine. It has almost the same functionality as Google Drive or Dropbox with the only difference that SVN maintains the current and historical version of the files any of members “commit”.
Our Control and Electronics Engineer, Fabian Suske gave us a quick and easy workshop on how to get started. So, the following post is something he prepared to share with us and with the arxterra community.
By Fabian Suske.
Table of Contents
What is SVN?
SVN is a revision based file sharing platform. Ideal for group projects. Every change will be saved and can be restored. So old versions can be restored if desired. SVN is especially helpful if more than one person is working on the same file or file group (e.g. Code).
SVN makes sure that no changes of one person are lost if a second one overrides the file because they worked on the same file at the same time. It also provides a merge tool for such a case.
In contrast to other file exchange platforms like Google Drive or OneDrive files are not automatically synced. The user has to actively sync the files (commit). This ensures that only working copies are stored on the platform.
SVN will be used to track the project process as well as a save file exchange platform. Especially in the manufacturing subsystem it will make cooperation easy.
SVN getting started
What you need:
A repository (server) is needed. A repository can be bought only or can be setup manually on a server. But the own server needs a static IP-Address and a DNS entry. Every revision is stored on the repository host. So large files or rapidly changing files (e.g. log files) are not designed to track with SVN.
To connect to the repository you need a client. I personally use TortoiseSVN.
You also need an account on the repository.
https://tortoisesvn.net/downloads.html
There are clients for MAC but I don´t know them
Setting up a folder:
To interact with the repository you need to create a folder where ever you want your files to be. After you installed your client you should be able to right click on the folder you just created and select SVN Checkout
Then under URL enter the Repository URL:
You can then enter your User name and Password. Check “Save authentication”.
The program then downloads every file up to this point (revision).
Check for changes:
Before you start working you need to make sure you have the newest version. To do so select SVN Update from the context menu
Modifying or adding a file:
Save or copy a file in the SVN folder. If you’re done with your work (working pieces only) right click on the folder and press SVN Commit
Select all files that you’ve modified, created, deleted or added. If you just read something to don´t need to tick it.
Don’t forget to add a detailed description of what you’ve done! You don’t need to add details such as your name or the date. SVN will add such details on its own.
To commit it is important that you right click the folder icon. If you inside the folder you won’t see the context menu. Just go one folder up.
Deleting a file:
SVN sometimes has a problem when you just delete files with your windows command. To delete a file right click it and select tortoise SVN and then select delete
Override protection
To make sure nobody overrides your stuff while you working on it you should lock it.
Select TortoiseSVN and then Get Lock
The lock will be released once you committed your work.
Project revision
If you select Show log from the context menu a GUI will popup showing every step that has been committed.
Above you can see such a log. SVN provides you with revision number, the actions that happened (added/modifies/deleted), the person how changed it and the date.
It also provides a description message what has been done in this revision as well as a list of what action happed to every affected file.
We documented this workshop in Minutes 04