|Web site: ||http://openamiga.org Open Amiga - Projects||20150702 20:12|
|Content ID: ||19|
|Content title: ||SVN Access|
Subversion (SVN) is a version control system that lets you store files and keep track of changes on them over time. And it's a tool that lets multiple developers work on the same code base.
You can get more information about Subversion Here
How to gain access
Access to the OpenAmiga SVN is controlled by the user management system on the OpenAmiga.org website. It is not possible to get anonymous access to the SVN.
Access is granted by following three steps:
1. By requesting and receiving basic access from a site moderator or administrator.
2. Setting your SVN password on your Edit Profile page.
3. Joining the project that you wish to contribute to.
All three steps must be followed before you can access any SVN files. Once joined to a project a SVN URL will be visible on the project information page. And together with your username and SVN password you are ready to access the project SVN tree. You can browse the SVN tree from the project page but to actually contribute to the project you need to use a SVN client.
There's a multitude of SVN clients available for a multitude of platforms, including AmigaOS 3 and 4. Some use a textual prompt interface, others are more graphical in nature working much like a file lister. At this point in time, only a textual prompt based client is available for AmigaOS 4.
The AmigaOS4 client is available on OS4Depot: Download
Clients for other platforms can be found on the Subversion homepage
After installing the SVN Client you need to create the directory where you want the projects files to reside locally on your computer.
Once created, open a shell and point it to your directory.
svn checkout svn://openamiga.org/projects/...
Don't use the svn url:// in the above example, the actual svn:// url is provided on the information page of the project that you want to check out.
The client will prompt for your username and password. If it prompts for a 'root' password then just press enter and it will ask for your real username. After entering your details it will download all files from the repository.
You can specify the username and password directly:
svn checkout svn://openamiga.org/projects/... --username USERNAME --password PASSWORD
You can get more help by typing:
Update your whole source tree for a project, point your shell to the working folder and type:
List the contents of a directory on the server:
svn list source/
Quick look at contents of a file:
svn cat source/myinclude.h
Send you changes to the server:
To get more help:
SVN Manual See chapter 2
SVN usage explained the easy way
You can relate to SVN as a directory sync tool rather than a ftp/upload tool. SVN helps you keep a local directory synced with the server. Syncing is not automatic however, you need to use a set of commands to sync your changes to the server and to sync changes on the server to you.
To tell SVN that you have a local directory that you want to keep in sync with the server you must use the
svn checkout command together with the svn url from an openamiga project page. An exampel might be
"svn://openamiga.org/projects/20". This is the svn url for the filer project.
You can only access the projects on openamiga that you are a member of!
Commands to initiate a synced directory:
svn checkout svn://openamiga.org/projects/20
You only need to do this once for each project.
This will create a sub directory called "20" with all the files and directories from the server.
Once you have edited some files you can sync them back to the server:
If someone has updated the files on the server you need to sync those changes back to your local directory:
SVN will only sync the files and directories that it knows about. If you create a new local file it will not be synced until you tell SVN that it should be a synced file. To add a file, CD into the directory where it is located and do:
svn add myfile.c
Note that this will not upload the file or directories to the server. Use
"svn commit" to send them to the server.