Subversion Training
Subver have the meaning of overthrow, subversion, there is a tendency to violence. Subver was developed to overturn a software product in order to overturn a CVS version controller.
Quick understanding of mastering Subersion
The first lecture outlines and installs
Chapter 1
SVN Overview and Installation
First, the common work situation
Hey, bro, could you please send me a copy of the file that was changed in Tuesday?
Brother This function is not used, you are not changed something.
I can't find the underlying class, and I think you've implemented the underlying class.
Guys, last week we all had a hard time, and now we're putting everyone's code together.
To solve the problem above
Second, what is Subversion?
SVN is a version of the controller that was developed by the CollabNet Company in 2000. Mainly to maintain the file
's current and historical versions, its goal is to replace CVS.
SVN is used by more and more open-source software projects, such as: Apache GCC FreeBSD Python php and so on
SVN is open source.
Three, What is Version control? What is a version controller
Each change to a file is a state, and this state is a version.
It is used to change the file system changes. Your so-called change usually uses a number tag, which is called the version number.
Each version is associated with a time pinch and an author
A file can be compared with different versions to see how they differ, and how to resolve them by restoring, merging, and conflict
Four, SVN system
Subversion Architecture
V. Subversion ' s components svn has those components
1 SVN most important client command-line tools, implemented, can be nested in code automation programming
2 svnversion
3 Svnlook
4 Svnadmin back-end management tools
5 MOD_DAV_SVN Apache SVN plugin
6 Svnserve process of independence
7 Svndumpfilter
8 Svnsync
Six, the Repository data Warehouse
Place where information is centrally stored
SVN is a centralized system with centralized access to information, and its core is repository
How does SVN store information? In fact, the file is stored in the system under the directory tree, from the physical structure of the virtual file system created
The client reads or modifies the file by connecting to the server. When a client changes another customer, you can see the modification
What is the difference between repository and the general file system, repository has a memory function, incremental storage, record
File modifications and directory modifications, as opposed to git
When the client reads from the server, the default is the last version, or the history version can be extracted.
Seven, the issue that the version controller needs to solve.
Problems with file sharing. The Problem of File sharing
All version control systems are designed to work together.
1. The Lock-modify-unlock Solution l-m-u
Lock brings management problem, can't read when locked.
Can't read
2. The Copy-modify-merge Solution c-m-m
Create a local copy
Independent to make independent changes
Merge all the copies together at the end
The system will merge the files not all can be automatic, conflict must be human communication
Eight, Repository URLs
You can access data in several ways, via network addresses
file:///
http://Apache
https://SSL Encryption
svn://
Commonly used is HTTP and HTTPS, they have a major advantage is to cross the firewall
Installation theory with practice in order to further study (use source installation)
Mainly explain the installation of the server
Download three source Packs
Subversion 1.6.5.tar.gz
Subversion Deps 1.6.5.tar.gz
Httpd-2.4.9.tar.gz
Unpack the top three packs
CD Subversion
Vim INSTALL
Hands-on installation
First install Apache
CD Apache
./configure--enable-dav--enable-so--prefix=/opt/www
Make && make install
Successfully compiled sub, module in Apache file has sub
Install Subversion
./configure--with-apxs=/opt/www/bin/apxs--PREFIXE=/OPT/SVN
Make && make install
Tenth Chapter Configuration
LoadModule dav_svn_module modules/mod_dav.so//prerequisite is not joined WITH-DAV
LoadModule Dav_svn_modeule modules/mod_dav_svn.so
LoadModule Authz_svn_module modules/mod_authz_svn.so
When you visit a particular URL, you visit svn
1\ Configuration Repository
Create a repository
Svnadmin Create repos
2\ Configuration Access
Modify Http.conf
<Location/repos>
DAV SVN
Svnpath/opt/repos
</Location>
3 httpd.conf User Group,
Will/repos chmod 700/repos
Chown-r Pth.pth/repos
SVN import mysrc-m "Init" http://....