Environment: CentOs 6.5 (minimized installation)
Reference:http://www.iusesvn.com/subversion/tortoisesvn_doc/
[[email protected] ~]# yum -y install subversion[[email protected] ~]# mkdir /svn/ -p[[email protected] ~]# useradd svn[[email protected] ~]# chown svn:svn /svn/ -R[[email protected] ~]# chmod 775 /svn/ -r[[email protected] ~]# cd /svn/[[email protected] svn]# svnadmin create test[[email protected] svn]# lstest[[email protected] svn]# cd test/conf/[[email protected] conf]# lsauthz passwd Svnserve.conf[[email protected] conf]# grep -v ^# passwd |grep -v ^$[users]admin = redhatyfshare= redhat[[email protected] conf]#[[email Protected] conf]# grep -v ^# authz |grep -v ^$[aliases][groups]test = admin,yfshare[/] @test = rw[[email protected] conf]#[[email protected] conf]# grep -v ^# svnserve.conf |grep -v ^$[general]anon-access = noneauth-access = Writepassword-db = passwdauthz-db = authz[sasl]min-encryption = 0max-encryption = 256[[email protected] conf]#[[email protected] conf]# svnserve -d -r /svn/[[email protected] conf]# netstat -tunlp|grep svnservetcp 0 0 0.0.0.0:3690 0.0.0.0:* listen 1372/svnserve [[email protected] conf]#
After installing TORTOISESVN, right-click on the desktop and tap svn checkout
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M00/6F/B6/wKioL1WmFhXzuoPdAAKsXSJFADM572.jpg "style=" float: none; "title=" Clipboard.png "alt=" Wkiol1wmfhxzuopdaaksxsjfadm572.jpg "/>
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M00/6F/B6/wKioL1WmFhbRKKmzAAGB707klQ0769.jpg "style=" float: none; "title=" Clipboard1.png "alt=" Wkiol1wmfhbrkkmzaagb707klq0769.jpg "/>
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M00/6F/B9/wKiom1WmFD2xiTwQAAEvwmR5oqo282.jpg "style=" float: none; "title=" Clipboard2.png "alt=" Wkiom1wmfd2xitwqaaevwmr5oqo282.jpg "/>
Before committing, you will need to perform SVN update to download the latest version from the server, and then perform SVN commit to avoid version conflicts
Right-click the Test folder and select SVN commit
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/6F/B9/wKiom1WmFILQu0upAAJTCRu6I48993.jpg "style=" float: none; "title=" Clipboard.png "alt=" Wkiom1wmfilqu0upaajtcru6i48993.jpg "/>
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M00/6F/B9/wKiom1WmFIKjnC_JAAG4zcqaKHI975.jpg "style=" float: none; "title=" Clipboard1.png "alt=" Wkiom1wmfikjnc_jaag4zcqakhi975.jpg "/>
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M02/6F/B9/wKiom1WmFITQHsN7AAG2x3mjwK4400.jpg "style=" float: none; "title=" Clipboard2.png "alt=" Wkiom1wmfitqhsn7aag2x3mjwk4400.jpg "/>
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M00/6F/B9/wKiom1WmFKjgs14RAAEX9AW2Ci0622.jpg "title=" Clipboard.png "alt=" Wkiom1wmfkjgs14raaex9aw2ci0622.jpg "/>
Upload successful
svn resolves version conflicts:
A, b user execution svn update,test file current version is 1
A user edits after executing svn commit, test file current version is 2
B user compiles after the SVN commit, because the B user at this time the test file version is still 1, synchronization error
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M01/6F/B6/wKioL1WmFqiCDDYAAAGbhjynaB8715.jpg "title=" Clipboard.png "alt=" Wkiol1wmfqicddyaaagbhjynab8715.jpg "/>
If b user executes SVN update directly to this folder, several state files will be generated due to different versions
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/6F/B6/wKioL1WmFsnwXo_eAAGIuTGZz6U927.jpg "style=" float: none; "title=" Clipboard.png "alt=" Wkiol1wmfsnwxo_eaagiutgzz6u927.jpg "/>
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/6F/B9/wKiom1WmFPCT_SvSAAD9JrZX34c126.jpg "style=" float: none; "title=" Clipboard1.png "alt=" Wkiom1wmfpct_svsaad9jrzx34c126.jpg "/>
At this point B users need to eliminate these state files, the test file execution TortoiseSVN---resolved
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M02/6F/B6/wKioL1WmFu6idzaiAAH23z8MauY450.jpg "style=" float: none; "title=" Clipboard.png "alt=" Wkiol1wmfu6idzaiaah23z8mauy450.jpg "/>
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/6F/B9/wKiom1WmFRXgJAdWAAEstJ2uMsA871.jpg "style=" float: none; "title=" Clipboard1.png "alt=" Wkiom1wmfrxgjadwaaestj2umsa871.jpg "/>
The contents of the test file are changed. Note: if test is a plain text file, you can execute resolved, or if it is a non-plain text file, only discard the modification and execute the TortoiseSVN---Revert
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M02/6F/B9/wKiom1WmFTCRMO8CAAF5nJYJz-o885.jpg "title=" Clipboard.png "alt=" Wkiom1wmftcrmo8caaf5njyjz-o885.jpg "/>
The b user can then execute SVN commit with the test file.
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M00/6F/B6/wKioL1WmFyTz9hYWAADScJcI6oQ802.jpg "title=" Clipboard.png "alt=" Wkiol1wmfytz9hywaadscjci6oq802.jpg "/>
Note: before committing, you will need to perform SVN update to download the latest version from the server, and then perform SVN commit to avoid version conflicts
Each directory in the working copy has a. SVN management directory, each file in the working directory, Subversion retains a backup for it in the admin area, which is a previous version (called "BASE" version) that has not been modified (no keyword changes, no line ending symbol conversions, Without any changes), we use the file as an original copy or as a base file, which is exactly the same as the file in the repository
This article from "Pengcheng-soy sauce bottle" blog, declined reprint!
Build svn+ version conflict under Linux