Chinaunix首页 | 论坛 | 博客
  • 博客访问: 379942
  • 博文数量: 120
  • 博客积分: 5051
  • 博客等级: 大校
  • 技术积分: 1255
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-03 01:25
文章分类

全部博文(120)

文章存档

2011年(2)

2010年(11)

2009年(28)

2008年(26)

2007年(53)

我的朋友

分类: LINUX

2007-11-30 01:46:38

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) |
给主人留下些什么吧!~~