|
|
Line 9: |
Line 9: |
|
| |
|
| == SVN Glossary == | | == SVN Glossary == |
| The SVN terminology can be confusing at times, this is a (probably incomplete) list of terms explained: | | The SVN terminology can be confusing at times, this is a (probably incomplete) list of terms explained: [[SVN Glossary]] |
| === Repository ===
| |
| The SVN repository is the "master container" containing all the files of a project, including all their [[#History|history]] and other [[#Branch|branches]]. An SVN Server can contain multiple repositories (e.g. our DarkMod SVN server holds the repositories darkmod, darkmod_src, texture_src, etc.). For downloading a repository, see [[#Checkout|Checkout]].
| |
| | |
| === Checkout ===
| |
| Downloading a copy of a SVN Repository to a location on your hard disk is called a '''checkout'''. A checkout is the initial download of a working copy, not to be confused with an [[#Update|Update]]. You checkout a working copy ''once'', but you can update it multiple times.
| |
| | |
| === Update ===
| |
| Updating a local copy means synchronising it with the server. Choosing update will download all changes since the last time you updated your copy (files added by other users, text changes made to files, file deletions). The process will update your working copy to the [[#HEAD|HEAD]] [[#Revision|revision]] by default, but you can manually choose to update to a certain [[#Revision|revision]] if you wish.
| |
| | |
| === Commit ===
| |
| Just changing your local files isn't enough to "store" them in the server, you have to '''commit''' them. You need write access to the [[#Repository|repository]] to be able to commit stuff. It is perfectly thinkable that the files you're about to commit have already been altered by another user. In the case of text/ascii files, the SVN Server tries to [[#merge|merge]] your changes into the files. If it fails (or if the files are not in text format ([[#Binary|binary]]), the merge will fail and you run into a [[#Conflict|conflict]].
| |
| | |
| Note: Committing files does '''not''' update your local copy, you'll have to do that manually.
| |
| | |
| === Revision ===
| |
| | |
| | |
| === HEAD ===
| |
| | |
|
| |
|
| == SVN Troubleshooting == | | == SVN Troubleshooting == |
|
| |
|
| {{tutorial-SVN}} | | {{tutorial-SVN}} |
Revision as of 11:19, 26 November 2007
So what is this SVN thingy then?
SVN stands for SubVersioN. It's a framework originally developed for distributed coding projects, often with multiple programmers working on the code at the same time.
DarkMod SVN Infrastructure
You lost me there, I need an example!
All right then, here you go: SVN Tutorial
SVN Glossary
The SVN terminology can be confusing at times, this is a (probably incomplete) list of terms explained: SVN Glossary
SVN Troubleshooting