2
Subversion, a version control system.
3
=====================================
5
$LastChangedDate: 2005-01-21 15:33:50 -0500 (Fri, 21 Jan 2005) $
11
III. PARTICIPATING IN THE SUBVERSION COMMUNITY
13
V. CONVERTING FROM CVS
18
For an overview of the Subversion project, visit
20
http://subversion.tigris.org/
22
Once you have a Subversion client you can get the latest version
23
of the code with the command:
25
$ svn co http://svn.collab.net/repos/svn/trunk subversion
31
The main documentation is the Subversion Book, written in
32
DocBook XML, which lives in the doc/ tree. If you wish to build
33
the documentation from source, read doc/book/README. Otherwise,
34
an on-line version of the book can be found at
35
http://svnbook.red-bean.com.
37
See COPYING for copyright information.
38
See HACKING for development information.
39
See INSTALL for installation information.
43
III. PARTICIPATING IN THE SUBVERSION COMMUNITY
45
First, read the HACKING file! It describes Subversion coding and
46
log message standards, as well as how to join discussion lists.
48
Talk on IRC with developers: irc.freenode.net, channel #svn.
50
Read the FAQ: http://subversion.tigris.org/faq.html
56
Please note that this section is just a quick example for people
57
who want to see Subversion run immediately. It's not an excuse
60
The Subversion client has an abstract interface for accessing a
61
repository. Three "Repository Access" (RA) implementations
62
currently exist as libraries:
64
libsvn_ra_dav: accesses a networked repository using WebDAV.
65
libsvn_ra_local: accesses a local repository using Berkeley DB.
66
libsvn_ra_svn: accesses a remote repository using a custom protocol.
68
You can see which methods are available to your 'svn' client by
69
running 'svn --version'. The following example assumes that
70
ra_local is available to your client. (If you don't see
71
ra_local, it probably means that Berkeley DB wasn't found when
72
compiling your client binary.)
75
1. svnadmin create /path/to/repos
77
- this creates a new directory, 'repos'. Make sure that
78
/path/to/repos/ is on local disk, NOT a network share.
80
- make SURE you have complete recursive read/write access to
81
the newly created 'repos' directory.
83
- understand that the repository is mainly a collection of
84
BerkeleyDB files; you won't actually see your versioned
85
data if you peek in there.
87
2. svn import /tmp/project file:///path/to/repos -m "Initial import"
89
- /tmp/project is a tree of data you've pre-arranged.
90
If you can, use this layout, as it will help you later on:
92
/tmp/project/branches/
100
3. svn checkout file:///path/to/repos/trunk project
102
- this creates a 'project' directory which is a working copy of
103
the /trunk directory in the repository.
105
4. Try using the repository:
107
- edit a file in your working copy.
108
- run 'svn diff' to see the changes.
109
- run 'svn commit' to commit the changes.
110
- run 'svn up' to bring your working copy up-to-date.
112
Be sure to read chapters 2 and 3, they're a critical
113
introduction to the svn commandline client.
115
5. Get a real server process running (either apache or svnserve)
116
so that your repository can be made available over a network.
117
Read chapters 5 and 6 to learn about how to administer a
118
repository and how to set up a server process.
122
The absolute most common stumbling block for newbies is problems
123
with permissions and ownership on the repository. Any process
124
that opens the repository must have complete read/write access
125
to it. This goes for any tool ('svnadmin', 'svnlook') or any
126
server process (apache, svnserve), or your own svn client, if
127
it's accessing via file:///.
129
Look at the last section in chapter 6 to understand how to tweak
130
repository ownership and permissions for multiple users and
135
V. CONVERTING FROM CVS
137
If you're a CVS user trying to move your CVS history over to
138
Subversion, then be sure to visit the 'cvs2svn' project:
140
http://cvs2svn.tigris.org
142
You can get the latest released version of the cvs2svn converter
143
from the project downloads area:
145
http://cvs2svn.tigris.org/servlets/ProjectDocumentList?folderID=2976
147
Please note that the cvs2svn project is a *separate* project from
148
Subversion. If you have problems with cvs2svn or are confused,
149
please email the cvs2svn project's mailing lists, not the
152
Finally, be sure to see Appendix A in the Subversion book. It
153
contains a very quick overview of the major differences between