ǰÑÔ
Subversion (¼ò³Æsvn)ÊǽüÄêÀ´áÈÆðµÄ°æ±¾¹ÜÀíÈí¼þ£¬ÊÇcvsµÄ½Ó°àÈË¡£Subversion ÊÇÒ»¸ö×ÔÓÉ / ¿ªÔ´µÄ°æ±¾¿ØÖÆÏµÍ³¡£Ò²¾ÍÊÇ˵£¬ÔÚ Subversion ¹ÜÀíÏ£¬ÎļþºÍĿ¼¿ÉÒÔ³¬Ô½Ê±¿Õ¡£Ò²¾ÍÊÇ Subversion ÔÊÐíÄãµÄÊý¾Ý»Ö¸´µ½ÔçÆÚ°æ±¾£¬»òÕßÊǼì²éÊý¾ÝÐ޸ĵÄÀúÊ·¡£ÕýÒòΪÈç´Ë£¬Ðí¶àÈ˽«°æ±¾¿ØÖÆÏµÍ³ SVN µ±×÷Ò»ÖÖÉñÆæµÄ¡°Ê±¼ä»úÆ÷¡±¡£Ä¿Ç°£¬¾ø´ó¶àÊý¿ªÔ´Èí¼þ¶¼ÔÚʹÓà SVN ×÷Ϊ´úÂë°æ±¾¹ÜÀíÈí¼þ¡£
Subversion Ö§³Ö Linux ºÍ windows £¬¸ü¶àÊǰ²×°ÔÚ Linux Ï¡£
svn ·þÎñÆ÷ÓÐ 2 ÖÖÔËÐз½Ê½£º¶ÀÁ¢·þÎñÆ÷ºÍ½èÖúApache¡£2 ÖÖ·½Ê½ÔËÐи÷ÓÐÀû±×¡£
svn ´æ´¢°æ±¾Êý¾ÝÒ²ÓÐ 2 ÖÖ·½Ê½£ºBDBºÍFSFS¡£ÒòΪBDB·½Ê½ÔÚ·þÎñÆ÷ÖжÏʱ£¬ÓпÉÄÜËø×¡Êý¾Ý£¬ËùÒÔ»¹ÊÇFSFS·½Ê½¸ü°²È«Ò»µã£¬³£¼ûµÄ´´½¨Êý¾Ý°æ±¾¿âÒ²¶¼ÊÇʹÓÃFSFS·½Ê½¡£
Ïà¹ØÆ½Ì¨Èí¼þ
SVN+ApacheÈí¼þ°²×°°üÏÂÔØÍÆ¼ö£¬ÔÚËùÓÐÆ½Ì¨ÉϵݲװÎļþ¶¼ÔÚ´ËÕ¾ÓÐÃâ·ÑÏÂÔØ£¬Ñ¡ÔñÒªÔÚʲô²Ù×÷ƽ̨ÉϽøÐа²×°ÅäÖ㬾ÍÏÂÔØÏàÓ¦µÄ°²×°Îļþ£¬½øÐа²×°ÅäÖá£
www.open.collab.net/cn/downloads/subversion/redhat.html
ÎÒËùʹÓõ½µÄ°²×°ÎļþÈçÏ£º
CollabNet Subversion Command-Line Client v1.6.9 (for Red Hat Linux)
ÏÂÔØÎļþÃû£ºCollabNetSubversion-client-1.6.9-1.i386.rpm --¿Í»§¶Ë
CollabNet Subversion Server v1.6.9 (for Red Hat Linux)
ÏÂÔØÎļþÃû£ºCollabNetSubversion-extras-1.6.9-1.i386.rpm --·þÎñ¶Ë
CollabNet Subversion Extras v1.6.9 (for Red Hat Linux)
ÏÂÔØÎļþÃû£ºCollabNetSubversion-extras-1.6.9-1.i386.rpm --À©Õ¹¼þ
ÏÂÔØÎļþÃû£ºRPM-GPG-KEY-csvn.asc ---·ÖÀëµÄ OpenPGP Ç©ÃûÎļþ
°²×°¹ý³Ì£º
¡¡ °²×°·Ç³£¼òµ¥ÈÝÒ×£¬°²×°ÒѾ±àÒë¹ýµÄ rpm Îļþ¼´¿É£¡
¡¡ Ê×ÏȰ²×°Ç©ÃûÎļþ£¬°²×°ËµÃ÷ÔÎÄÈçÏ£º
CollabNet Subversion RPMs are signed using our GPG key. As a one-time task,
import the CollabNet GPG key using the command:
sudo rpm --import /path/to/RPM-GPG-KEY-csvn.asc
The CollabNet GPG key is available for download at:
http://www.collab.net/nonav/downloads/subversion/gpg-key/RPM-GPG-KEY-csvn.asc
°´ÕÕ˵Ã÷²Ù×÷¼´¿É½øÐÐÏÂÒ»²½°²×°£¬·ñÔò»áÓÐÌáʾ¸æÖª¡£´ò¿ªÖÕ¶Ë£¬Çл»µ½ root ÕʺÅ:
[root@localhost]# rpm --import RPM-GPG-KEY-csvn.asc
Ç©ÃûÎļþ°²×°ºó£¬½ÓמͿÉÒÔ½øÐÐÏÂÃæµÄ°²×°ÁË¡£
ÏȰ²×° client £¬È»ºó server £¬×îºóÊÇ extras £¬Ë³ÐòÒ»´Î½øÐа²×°ÏÂÈ¥¡£
[root@localhost]# rpm -ivh CollabNetSubversion-client-1.6.9-1.i386.rpm
Preparing... ########################################### [100%]
1:CollabNetSubversion-cli########################################### [100%]
[root@localhost]#
client ¶Ë°²×°Íê³É£»
[root@localhost]# rpm -ivh CollabNetSubversion-server-1.6.9-1.i386.rpm
Preparing... ########################################### [100%]
1:CollabNetSubversion-ser########################################### [100%]
[root@localhost]#
server ¶Ë°²×°Íê³É£»
[root@localhost]# rpm -ivh CollabNetSubversion-extras-1.6.9-1.i386.rpm
Preparing... ########################################### [100%]
1:CollabNetSubversion-ext########################################### [100%]
[root@localhost]#
extras ¶ËҲ˳Àû°²×°Íê³É£»
ÕâÑùÈý¸ö rpm °²×°Îļþ¾Í˳Àû°²×°Íê³ÉÁË¡£ ´Ëʱ£¬ÏµÍ³Ò²¾Í×Ô¶¯Ôö¼ÓÁËÒ»¸ö csvn Óû§/×é¡£
[root@localhost]# more /etc/passwd
csvn:x:502:501:CollabNet Subversion:/opt/CollabNet_Subversion:/bin/bash
[root@localhost]# more /etc/group
csvn:x:501:
SVNÏà¹ØµÄ³ÌÐòĿ¼Ҳ´´½¨Íê³É£»

½Ó׎øÐÐSVNµÄÅäÖãº
ÔÚ /opt/CollabNet_Subversion/bin Ŀ¼ÏÂÖ´ÐÐ Configure-CollabNet-Subversion £¬Ò»²½Ò»²½°´ÕÕÌáʾ²Ù×÷¼´¿É˳ÀûÍê³É¼òµ¥µÄ·þÎñÅäÖá£
[root@localhost]# ./Configure-CollabNet-Subversion
CollabNet Subversion Server is a free download of open-source Subversion,
¡¡¡¡compiled and tested by CollabNet. For more information about CollabNet
¡¡¡¡Subversion, visit the CollabNet community at http://open.collab.net.
¡¡¡¡Would you like to configure the CollabNet Subversion Server now? [yes] (Ö±½Ó»Ø³µ)
¡¡¡¡Welcome to CollabNet Subversion Server setup.
¡¡¡¡You will now be asked some questions to configure CollabNet Subversion.
¡¡¡¡Defaults are given in square brackets. If a default is okay for you
¡¡¡¡Just hit [Enter] to continue.
¡¡¡¡This setup can configure either Apache or svnserve as Subversion
¡¡¡¡server, for you. Would you like to configure Apache as your
¡¡¡¡Subversion server now? [yes] (Ö±½Ó»Ø³µ)
¡¡¡¡Continuing with apache Subversion server configuration ...
¡¡¡¡Specify the base directory for Subversion repositories: [/var/svn/repositories] /opt/SVNRepositories (ÕâÀïÎÒ¸ü¸ÄÁËSVN²Ö¿â´æ´¢Â·¾¶£¬²»Ê¹ÓÃĬÈϵÄ·¾¶¡£)
¡¡¡¡Non-existing base path, Let me create and continue [yes] (Ö±½Ó»Ø³µ)
¡¡¡¡Base path created.
¡¡¡¡Would you like to create a new Subversion repository? [yes] (Ö±½Ó»Ø³µ)
¡¡¡¡What should be your new Subversion repository name? DEOM (ÕâÀィÁ¢Ò»¸öÃûΪ DEMO µÄ²âÊÔÓÿâ)
¡¡¡¡New repository created.
¡¡¡¡Would you like to initialize the repository with trunk/branches/tags folders? [no] (Ö±½Ó»Ø³µ)
¡¡¡¡Done.
¡¡¡¡Would you like to create another Subversion repository? [yes] (Ö±½Ó»Ø³µ)
¡¡¡¡What should be your new Subversion repository name? svntest (ÕâÀïÔÙ½¨Á¢Ò»¸öÃûΪ svntest µÄ¿â)
¡¡¡¡New repository created.
¡¡¡¡Would you like to initialize the repository with trunk/branches/tags folders? [no](Ö±½Ó»Ø³µ)(ÔÝʱ²»µ¼Èë³õʼÊý¾Ý)
¡¡¡¡Done.
¡¡¡¡Would you like to create another Subversion repository? [yes] no (ÒѾ½¨Á¢ÁË2¸ö²âÊÔÓÿ⣬¾Í²»ÔÙ½¨ÁË¡£)
¡¡¡¡Would you like to give the name and port that the server uses to identify itself? [yes]
¡¡¡¡Registered DNS name or IP address: 192.168.168.159 (ÕâÀïIPÊÇÖ¸ apache µÄ·þÎñ¡°IP¡±ÅäÖá£)
¡¡¡¡Server port number: 18080 (apacheµÄ·þÎñ¶Ë¿ÚºÅ)
¡¡¡¡Allow anonymous read access? [no] (Ö±½Ó»Ø³µ)
¡¡¡¡0 users currently have access to this repository:
¡¡¡¡Would you like to create a new Subversion account? [yes] (Ö±½Ó»Ø³µ)
¡¡¡¡Account username
¡¡¡¡(To re-create or delete a Subversion account, enter an existing username): svnadmin (½¨Á¢Ò»¸öSVNÕʺÅ)
¡¡¡¡Account password: (ÃÜÂë)
¡¡¡¡Retype account password: (ÖØ¸´ÃÜÂë)
¡¡¡¡Adding password for user svnadmin
¡¡¡¡Account created
¡¡¡¡Would you like to create another user account? [yes] no (ÔÝʱ²»ÐèÒªÔÙ½¨ÁíÒ»Óû§ÁË)
¡¡¡¡Would you like to configure ViewVC? [yes] (ÊÇ·ñÆôÓÃVierVC£¬Ö±½Ó»Ø³µ)
¡¡¡¡Stopping CollabNet Subversion: httpd (no pid file) not running
¡¡¡¡done
¡¡¡¡Starting CollabNet Subversion: done
¡¡¡¡(´Ëʱ£¬SVN+Apache·þÎñҲ˳ÀûµØÅäÖÃÍê³ÉÁË¡£×îºóµÄÌáʾÐÅÏ¢ÈçÏ£º)
¡¡¡¡Congratulations! You have successfully configured the CollabNet
¡¡¡¡Subversion server.
¡¡¡¡You can access your repositories at the following URL:
¡¡¡¡http://192.168.168.159:18080/svn/YOUR-REPOS-NAME
¡¡¡¡http://192.168.168.159:18080/viewvc/YOUR-REPOS-NAME
×îºó£¬ÅäÖÃÍê³Éºó½øÐмì²é£º
[root@localhost]# ps -ef|grep httpd
root 2569 1 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2588 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2595 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2596 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2597 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2599 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2600 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3809 2569 0 18:18 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3813 2569 0 18:18 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3814 2569 0 18:18 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3836 2569 0 18:21 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3839 2569 0 18:21 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
root 4696 4113 0 19:56 pts/1 00:00:00 grep httpd
ÔÚä¯ÀÀÆ÷ÖзÃÎÊSVN·þÎñ£»
¡¡¡¡http://192.168.168.159:18080/svn/DEMO
×¢Ò⣺ä¯ÀÀÆ÷ÉϵĵØÖ·À¸£¡

¡¡ http://192.168.168.159:18080/viewvc

С½á£º
¡¡ µ½´Ë£¬SVN+Apache·þÎñ¾Í´î½¨Íê³ÉÁË£¬SVN ÊǸöºÜºÃµÄ°æ±¾¿ØÖÆÈí¼þ£¬ºÃºÃµÄÏíÊÜËü´øÀ´µÄÎÞÏÞÀÖȤ°É£¡
SVN ÃüÁîÐÐÔÚ Linux ϵIJÙ×÷
1¡¢½«Îļþcheckoutµ½±¾µØÄ¿Â¼
svn checkout path£¨pathÊÇ·þÎñÆ÷ÉϵÄĿ¼£©
ÀýÈ磺svn checkout svn://192.168.168.159:18080/pro/domain
¼òд£ºsvn co
2¡¢Íù°æ±¾¿âÖÐÌí¼ÓеÄÎÄ ¼þ
svn add file
ÀýÈ磺svn add test.php(Ìí¼Ótest.php)
svn add *.php(Ìí¼Óµ±Ç°Ä¿Â¼ÏÂËùÓеÄphpÎļþ)
3¡¢½«¸Ä¶¯µÄÎļþÌá½»µ½°æ ±¾¿â
svn commit -m "LogMessage" [-N] [--no-unlock] PATH(Èç¹ûÑ¡ÔñÁ˱£³ÖËø£¬¾ÍʹÓÃ--no-unlock¿ª¹Ø)
ÀýÈ磺svn commit -m "add test file for my test" test.php
¼òд£ºsvn ci
4¡¢¼ÓËø/½âËø
svn lock -m "LockMessage" [--force] PATH
ÀýÈ磺svn lock -m "lock test file" test.php
svn unlock PATH
5¡¢¸üе½Ä³¸ö°æ±¾
svn update -r m path
ÀýÈ磺
svn updateÈç¹ûºóÃæÃ»ÓÐĿ¼£¬Ä¬ÈϽ«µ±Ç°Ä¿Â¼ÒÔ¼°×ÓĿ¼ÏµÄËùÓÐÎļþ¶¼¸üе½×îа汾¡£
svn update -r 200 test.php(½«°æ±¾¿âÖеÄÎļþtest.php»¹Ôµ½°æ±¾200)
svn update test.php(¸üУ¬ÓÚ°æ±¾¿âͬ²½¡£Èç¹ûÔÚÌá½»µÄʱºòÌáʾ¹ýÆÚµÄ»°£¬ÊÇÒòΪ³åÍ»£¬ÐèÒªÏÈupdate£¬ÐÞ¸ÄÎļþ£¬ È»ºóÇå³ýsvn resolved£¬×îºóÔÙÌá½»commit)
¼òд£ºsvn up
6¡¢²é¿´Îļþ»òÕßĿ¼״̬
1£©svn status path£¨Ä¿Â¼ÏµÄÎļþºÍ×ÓĿ¼µÄ״̬£¬Õý³£×´Ì¬²»ÏÔʾ£©
¡¾?£º²»ÔÚsvnµÄ¿ØÖÆÖУ»M£ºÄÚÈݱ»Ð޸ģ»C£º·¢Éú³åÍ»£»A£ºÔ¤¶¨¼ÓÈëµ½°æ±¾¿â£»K£º±»Ëø¶¨¡¿
2£©svn status -v path(ÏÔʾÎļþºÍ×ÓĿ¼״̬)
µÚÒ»Áб£³ÖÏàͬ£¬µÚ¶þÁÐÏÔʾ¹¤×÷°æ±¾ºÅ£¬µÚÈýºÍµÚËÄÁÐÏÔʾ×îºóÒ»´ÎÐ޸ĵİ汾ºÅºÍÐÞ¸ÄÈË¡£
×¢£ºsvn status¡¢svn diffºÍ svn revertÕâÈýÌõÃüÁîÔÚûÓÐÍøÂçµÄÇé¿öÏÂÒ²¿ÉÒÔÖ´Ðеģ¬ÔÒòÊÇsvnÔÚ±¾µØµÄ.svnÖб£ÁôÁ˱¾µØ°æ±¾µÄÔʼ¿½±´¡£
¼òд£ºsvn st
7¡¢É¾³ýÎļþ
svn delete path -m "delete test fle"
ÀýÈ磺svn delete svn://192.168.168.159:18080/pro/domain/test.php -m "delete test file"
»òÕßÖ±½Ósvn delete test.php È»ºóÔÙsvn ci -m 'delete test file¡®£¬ÍƼöʹÓÃÕâÖÖ
¼òд£ºsvn (del, remove, rm)
8¡¢²é¿´ÈÕÖ¾
svn log path
ÀýÈ磺svn log test.php ÏÔʾÕâ¸öÎļþµÄËùÓÐÐ޸ļǼ£¬¼°Æä°æ±¾ºÅµÄ±ä»¯
9¡¢²é¿´ÎļþÏêϸÐÅÏ¢
svn info path
ÀýÈ磺svn info test.php
10¡¢±È½Ï²îÒì
svn diff path(½«Ð޸ĵÄÎļþÓë»ù´¡°æ±¾±È½Ï)
ÀýÈ磺svn diff test.php
svn diff -r m:n path(¶Ô°æ±¾mºÍ°æ±¾n±È½Ï²îÒì)
ÀýÈ磺svn diff -r 200:201 test.php
¼òд£ºsvn di
11¡¢½«Á½¸ö°æ±¾Ö®¼äµÄ²î ÒìºÏ²¢µ½µ±Ç°Îļþ
svn merge -r m:n path
ÀýÈ磺svn merge -r 200:205 test.php£¨½«°æ±¾200Óë205Ö®¼äµÄ²îÒìºÏ²¢µ½µ±Ç°Îļþ£¬µ«ÊÇÒ»°ã¶¼»á²úÉú³åÍ»£¬ÐèÒª´¦Àíһϣ©
12¡¢SVN °ïÖú
svn help
svn help ci
------------------------------------------------------------------------------
ÒÔÉÏÊdz£ÓÃÃüÁÏÂÃæÐ´¼¸¸ö²»¾³£ÓõÄ
------------------------------------------------------------------------------
13¡¢°æ±¾¿âϵÄÎļþºÍÄ¿ ¼Áбí
svn list path
ÏÔʾpathĿ¼ÏµÄËùÓÐÊôÓÚ°æ±¾¿âµÄÎļþºÍĿ¼
¼òд£ºsvn ls
14¡¢´´½¨ÄÉÈë°æ±¾¿ØÖÆÏ µÄÐÂĿ¼
svn mkdir: ´´½¨ÄÉÈë°æ±¾¿ØÖÆÏµÄÐÂĿ¼¡£
Ó÷¨: 1¡¢mkdir PATH...
2¡¢mkdir URL...
´´½¨°æ±¾¿ØÖƵÄĿ¼¡£
1¡¢Ã¿Ò»¸öÒÔ¹¤×÷¸±±¾ PATH Ö¸¶¨µÄĿ¼£¬¶¼»á´´½¨ÔÚ±¾µØ¶Ë£¬²¢ÇÒ¼ÓÈëÐÂÔö
µ÷¶È£¬ÒÔ´ýÏÂÒ»´ÎµÄÌá½»¡£
2¡¢Ã¿¸öÒÔURLÖ¸¶¨µÄĿ¼£¬¶¼»á͸¹ýÁ¢¼´Ìá½»ÓÚ²Ö¿âÖд´½¨¡£
ÔÚÕâÁ½¸öÇé¿öÏ£¬ËùÓеÄÖмäĿ¼¶¼±ØÐëÊÂÏÈ´æÔÚ¡£
15¡¢»Ö¸´±¾µØÐÞ¸Ä
svn revert: »Ö¸´Ôʼδ¸Ä±äµÄ¹¤×÷¸±±¾Îļþ (»Ö¸´´ó²¿·ÝµÄ±¾µØÐÞ¸Ä)¡£revert:
Ó÷¨: revert PATH...
×¢Òâ: ±¾×ÓÃüÁî²»»á´æÈ¡ÍøÂ磬²¢ÇÒ»á½â³ý³åÍ»µÄ×´¿ö¡£µ«ÊÇËü²»»á»Ö¸´
±»É¾³ýµÄĿ¼
16¡¢´úÂë¿âURL±ä¸ü
svn switch (sw): ¸üй¤×÷¸±±¾ÖÁ²»Í¬µÄURL¡£
Ó÷¨: 1¡¢switch URL [PATH]
2¡¢switch --relocate FROM TO [PATH...]
1¡¢¸üÐÂÄãµÄ¹¤×÷¸±±¾£¬Ó³Éäµ½Ò»¸öеÄURL£¬ÆäÐÐΪ¸ú¡°svn update¡±ºÜÏñ£¬Ò²»á½«
·þÎñÆ÷ÉÏÎļþÓë±¾µØÎļþºÏ²¢¡£ÕâÊǽ«¹¤×÷¸±±¾¶ÔÓ¦µ½Í¬Ò»²Ö¿âÖÐij¸ö·ÖÖ§»òÕß±ê¼ÇµÄ
·½·¨¡£
2¡¢¸Äд¹¤×÷¸±±¾µÄURLÔªÊý¾Ý£¬ÒÔ·´Ó³µ¥´¿µÄURLÉϵĸı䡣µ±²Ö¿âµÄ¸ùURL±ä¶¯
(±ÈÈç·½°¸Ãû»òÊÇÖ÷»úÃû³Æ±ä¶¯)£¬µ«Êǹ¤×÷¸±±¾ÈԾɶÔÓ³µ½Í¬Ò»²Ö¿âµÄͬһĿ¼ʱʹÓÃ
Õâ¸öÃüÁî¸üй¤×÷¸±±¾Óë²Ö¿âµÄ¶ÔÓ¦¹ØÏµ¡£
17¡¢½â¾ö³åÍ»
svn resolved: ÒÆ³ý¹¤×÷¸±±¾µÄĿ¼»òÎļþµÄ¡°³åÍ»¡±×´Ì¬¡£
Ó÷¨: resolved PATH...
×¢Òâ: ±¾×ÓÃüÁî²»»áÒÀÓï·¨À´½â¾ö³åÍ»»òÊÇÒÆ³ý³åÍ»±ê¼Ç£»ËüÖ»ÊÇÒÆ³ý³åÍ»µÄ
Ïà¹ØÎļþ£¬È»ºóÈà PATH ¿ÉÒÔÔÙ´ÎÌá½»¡£
18¡¢Êä³öÖ¸¶¨Îļþ»ò URLµÄÄÚÈÝ¡£
svn cat Ä¿±ê[@°æ±¾]...Èç¹ûÖ¸¶¨Á˰汾£¬½«´ÓÖ¸¶¨µÄ°æ±¾¿ªÊ¼²éÕÒ¡£
svn cat -r PREV filename > filename (PREV ÊÇÉÏÒ»°æ±¾,Ò²¿ÉÒÔд¾ßÌå°æ±¾ºÅ,ÕâÑùÊä³ö½á¹ûÊÇ¿ÉÒÔÌá½»µÄ)
»¶Ó¸÷λҲ³£À´ÎÒµÄ baidu ¼ÒÔ°¿´¿´Ð´Ð´£¡
http://hi.baidu.com/yjg021
wst021 ÓÚ 2010-04-21 15:10:14·¢±í:
{:3_114:} ×Ô¼º×ù×ùɳ·¢£¬ÏíÊÜһϳɹû£¡
֮ǰ·¢ÌùѯÎÊ£¬ÓÐÈËÔÚ RedHat Linux Éϰ²×°¹ýSVN·þÎñÂð£¬Ã»ÓÐÈ˻شð£¬ÏÖÔÚÎÒ¾ÍÀ´·¢Ò»Ìù£¬Ï£Íû¶ÔÈËÓаïÖú£¬ÒªÊÇÄܰïÖúµ½ÄãÁË£¬ÇëÄã¸úÌùÁôÑÔ£¬Ð»Ð»£¡