svn
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
svn [2008/02/12 14:49] – Added Tips & Tricks Section kleiner | svn [2010/05/06 10:52] – damir | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Subversion ====== | ====== Subversion ====== | ||
- | Subversion is an open-source control version system that is a compelling replacement for CVS. At least the client version is installed by default on all our Linux machines, and can be easily installed on Macs via [[http:// | + | Subversion is an open-source control version system that is a compelling replacement for CVS. At least the client version is installed by default on all our Linux machines, and can be easily installed on Macs via [[http:// |
- | The basic idea is to keep a master copy of your source files in a // | + | The basic idea is to keep a master copy of your source files in a // |
- | For editing a file, one have to check it out (e.g. get a local copy) from the repository. Once the editing is done, the modifications are committed back to the server. This allows more than one person (or the same person on many computers) to work on the same set of files because they are actually working on their local copy of the files. | + | Once the editing is done, the modifications are committed back to the server. This allows more than one person (or the same person on many computers) to work on the same set of files because they are actually working on their local copy of the files.\\ |
- | When a user commits his changes, the files he has been editing might have been changed (and committed) by another user in the mean while. In this case, subversion merges the changes automatically unless it detects a conflict (e.g. two user having changed the same line of code). | + | When a user commits his changes, the files he/her has been editing might have been changed (and committed) by another user in the mean while. In this case, subversion merges the changes automatically unless it detects a conflict (e.g. two user having changed the same line of code). |
Everyone can create his own subversion repository in his homedirectory with the following command: | Everyone can create his own subversion repository in his homedirectory with the following command: | ||
< | < | ||
Line 16: | Line 16: | ||
For group projects, it is better to use the common repository which is | For group projects, it is better to use the common repository which is | ||
* for algo: < | * for algo: < | ||
- | * for licos: < | + | * for licos: < |
* for lth: < | * for lth: < | ||
* for lcm: < | * for lcm: < | ||
+ | * for arni: < | ||
===== Quick User Guide ===== | ===== Quick User Guide ===== | ||
Line 139: | Line 140: | ||
------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ||
</ | </ | ||
+ | |||
+ | ===== Personal Repositories ===== | ||
+ | |||
+ | you can always create a personal repository in your homedir by doing: | ||
+ | |||
+ | - ssh into server: < | ||
+ | - create an empty repository: < | ||
+ | - use the standard svn subcommands to checkout, list or commit to the repository | ||
+ | |||
+ | |||
+ | ===== General Repositories ===== | ||
+ | |||
+ | General repositories, | ||
+ | To create a general repository you need to send an email with these informations: | ||
+ | - name of the repository | ||
+ | - list of users that need access to it | ||
+ | - visibility: | ||
+ | - Private: The repository can be private (the only way to access it is through the svn commands) | ||
+ | - Public: The repository can be accessed through the web interface | ||
===== Few general recommendations ===== | ===== Few general recommendations ===== | ||
- | - try to import into subversion ONLY the SOURCES and not the files that are generated from the sources; | + | - try to import into subversion ONLY the SOURCES and not the files that are generated from the sources; |
- try to keep the repository as clean as possible. If the repository is shared among various users, it is better to meet once and agree on a common strategy for file/ | - try to keep the repository as clean as possible. If the repository is shared among various users, it is better to meet once and agree on a common strategy for file/ | ||
- Unless you have a good reason, do not commit incomplete or buggy files; | - Unless you have a good reason, do not commit incomplete or buggy files; |
svn.txt · Last modified: 2012/02/17 15:54 by damir