1.svn client tool:
svn update (update your local file , let your work copy = server)
svn update svn://localhost/hotdog
svn add (in local work copy,add file to svn)
-bash-3.00$ svn add test/aaa
A test/aaa
svn delete (delete file from repos)
svn delete svn://localhost/merge/project (delete project from merge)
svn copy (copy file)
svn copy svn://localhost/merge/newprojcet/new/ww.txt merge/test
A merge/test/ww.txt
svn move (work in work copy)
a. svn move merge/newprojcet/new/ww.txt merge/test/
A merge/test/ww.txt
D merge/newprojcet/new/ww.txt
b. svn move svn://localhost/merge/newprojcet/wo/gdjal.txt svn://localhost/merge/test -m "fsa"
提交后的版本为 11。
svn commit (commit your local file to svn server)
svn commit test/aaa -m "init version"
新增 test/aaa
svn cat (cat file comtent)
svn cat project/new/ww.txt
gas
svn checkout (checkout a repos to local file)
svn checkout svn://localhost/projecet
svn status
svn status -v merge/
11 11 haili merge
11 11 haili merge/test
11 11 haili merge/test/gdjal.txt
A + - ? ? merge/test/ww.txt
11 11 haili merge/newprojcet
11 9 haili merge/newprojcet/gdjal.txt
11 11 haili merge/newprojcet/wo
11 7 haili merge/newprojcet/new
D 11 7 haili merge/newprojcet/new/ww.txt
svn status -u merge/
D 11 merge/newprojcet/new/ww.txt
A + - merge/test/ww.txt
状态于版本: 11
svn diff (display diff between local file ang server file)
svn diff
svn: 目录“test”丢失
svn list
svn list --verbose svn://localhost/mergei
11 haili 4月 06 20:07 newprojcet/
11 haili 4月 06 20:07 test/
svn mkdir
svn mkdir merge/ooo
A merge/ooo
svn mkdir svn://localhost/merge/eee -m "sga"
2.svn server tools:
2.1 create repos
svnadmin create /path/repos
2.2 backup repos:
svnadmin dump /path/repos > dumpfile
svnadmin hotcopy /path/repos > /path/newrepos (produce a mew repos )
2.2 load repos
svnadmin load /path/newrepos < dumpfile
2.3 check info of repos
example:
1064 svnlook tree /etc/svn/merge --show-ids
1066 svnlook youngest /etc/svn/merge
1067 svnlook uuid /etc/svn/merge
1068 svnlook log /etc/svn/merge
1046 svnlook author /etc/svn/test
1076 svnlook cat /etc/svn/merge project/wo/gdjal.txt (/ is merge)
1078 svnlook date /etc/svn/merge/
1079 svnlook diff /etc/svn/merge/
1080 svnlook dirs-changed /etc/svn/merge
1082 svnlook history /etc/svn/merge/
1083 svnlook info /etc/svn/merge
2.4 recover repos from damage
svnadmin recover /etc/svn/merge
已取得仓库锁定。
请稍候;修复仓库也许得花费一些时间...
修复完成。
新的仓库版本为 9。
3.a example : merge three old repos to a new repos
3.1 svnadmin create /path/newrepos
(modify the conf of mewrepos and restart)
3.1 create directory at svn client
svn mkdir -m "init " svn://localhost/path/mewrepos/subdirectory1
svn mkdir -m "init " svn://localhost/path/mewrepos/subdirectory2
svn mkdir -m "init " svn://localhost/path/mewrepos/subdirectory3
3.2 dump the three old repos at svn server
svnadmin dump path/old_repos1 > dumpfile1
svnadmin dump path/old_repos2 > dumpfile2
svnadmin dump path/old_repos3 > dumpfile3
3.2 load the three old repos to new repos at svn server
svnadmin load /path/newrepos --parent-dir subdirectory1 < dumpfile1
svnadmin load /path/newrepos --parent-dir subdirectory2 < dumpfile2
svnadmin load /path/newrepos --parent-dir subdirectory3 < dumpfile3
4.create a new repository
svnadmin create /path/repository_name
5.subversion configration: (/path/repository_name/conf/*)
there're 3 oonfig file ,the details as follows:
cat /var/repository/repos1/conf/svnserve.conf
anon-access = none (重要,如果这个值是read,可能导至客户端无法上传代码)
auth-access = write
password-db = passwd
authz-db = authz
cat /var/repository/repos1/conf/passwd
somebody_name=passwordcat
cat/var/repository/repos1/conf/authz
[/]
@leader = rw
@worker = r
* =
[/var]
@leader = rw
@worker = r
* =
[/var/repository]
@leader = rw
@worker = r
* =
[/var/repository/repos_name]
@leader = rw
@worker = r
* =
6.启动subversion
svnserve -d -r /path/repos
-d [--daemon] 后台启动subversion server
-r 指定服务根目录
阅读(1783) | 评论(0) | 转发(0) |