Chinaunix首页 | 论坛 | 博客
  • 博客访问: 237940
  • 博文数量: 18
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1870
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-09 14:42
文章分类

全部博文(18)

文章存档

2009年(2)

2008年(69)

我的朋友

分类: 系统运维

2008-06-20 11:14:15

原文出处:svn 命令简要HOWTO

常用的svn命令的一个简要介绍,很有用的:
CREATE REPOSITORY

$ svnadmin create /usr/local/svn/newrepos

IMPORT MODULE

$ svn import mytree file:///usr/local/svn/newrepos/fooproject
Adding mytree/foo.c
Adding mytree/bar.c
Adding mytree/subdir
Adding mytree/subdir/quux.h
Committed revision 1.

START STANDALONE SVN SERVER

svnserve.exe -d -r d:/temp/repos

STARTING SVN UNDER APACHE

  DAV svn
  SVNPath d:/Data/SVN
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile d:/Data/SVN/svn-auth-file
  Require valid-user
Would be available using:
svn co

ENABLING SIMPLE AUTHORIZATION

1) create passw file:

htpasswd -cm d:/Data/svn-auth-file
add pass:
htpasswd -m d:/Data/svn-auth-file

2) create svn-policy-file file:

[groups]
project1-developers = anton, mike
project2 = anton, mike, peter
[project1:/]
@project1-developers = rw
[project2:/]
@project2-developers = rw

3) httpd.conf:


  DAV svn
  SVNPath d:/Data/SVN
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile d:/Data/svn-auth-file
  Require valid-user
  AuthzSVNAccessFile d:/Data/svn-policy-file

ENABLING SVN TRAFFIC COMPRESSION

It is required to invoke mode_deflate in httpd.conf:

DeflateBufferSize 8096
DeflateCompressionLevel 9

...

  SetOutputFilter DEFLATE
  SetInputFilter DEFLATE
  DAV svn
  SVNPath d:/temp/repos
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile d:/temp/svn-auth-file
  Require valid-user

EXTRACTING ONE PROJECT FROM MULTIPROJECT REPOSITORY

1) Dumping repos:

svnadmin dump d:datasvn > repo-dump
or svnadmin dump myrepos --revision 100:200 > revs-100-200.dumpfile

2) taking 1 project from repo:

type repo-dump | svndumpfilter include project1 > project1-dump

3) removing root dir:

Node-path: project1
Node-action: add
Node-kind: dir
Content-length: 0

Replace all "Node-path: project1/" strings with "Node-path: "

4) creating repo:

svnadmin create d:datasvnproject1

5) restoring:

svnadmin load d:datasvnproject1 < project1-dump

6) browsing

svnlook tree d:datasvn

7) Configuring Apache:


  SetOutputFilter DEFLATE
  SetInputFilter DEFLATE
  DAV svn
  # any "/svn/foo" URL will map to a repository /usr/local/svn/foo
  SVNParentPath d:/Data/SVN
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile d:/Data/svn-auth-file
  Require valid-user

8) Switch all working copies to a new repository:
[to a new branch] svn switch
[to a new URL] svn switch --relocate

BERKLEY DB recovery

1) download appropriate bdb release from berkley site

2) build win tools usinn VC 6.0+

3) run db_recover -vec -h d:datasvnproject1

4) move _db files from d:datasvnbroker into d:datasvnproject1db folder

5) if fail problem persists, after 4th step do backup/restore svn repo:

 svnadmin dump d:datasvnproject1 > project1.timestamp.dump
 
 svnadmin create d:datasvnproject1
 svnadmin load d:datasvnproject1 < project1.timestamp.dump



阅读(736) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~