侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

svn操作备忘

2023-12-03 星期日 / 0 评论 / 0 点赞 / 72 阅读 / 5398 字

一、服务端配置 准备目录 mkdir -p /application/svndatamkdir -p /application/svnpasswd 启动服务时指定数据存储目录 svnserve -d

一、服务端配置
准备目录

mkdir -p /application/svndatamkdir -p /application/svnpasswd

启动服务时指定数据存储目录

svnserve -d -r /application/svndatapkill svnserve #关闭svn,用于改变配置文件后的重启

查看服务是否启动(3种方法)

ps -ef | grep svnnetstat -tunlp | grep 3690lsof -i :3690

创建版本库'sadoc',不能直接用mkdir创建这个目录

svnadmin create /application/svndata/sadoc

权限配置

cd /application/svndata/sadoc/confcp svnserve.conf svnserve.conf.ori #备份初始配置文件

vim svnserve.conf #编辑配置文件,改完后要重启服务

anon-access = none #禁止匿名访问auth-access = writepassword-db = /application/svnpasswd/passwd #用户名和密码的数据库统一放到/application/svnpasswd目录下管理authz-db = /application/svnpasswd/authz     #权限控制文件也一样

提供用户名密码和权限的配置文件到自定义的目录(复制默认的,然后修改)

cp passwd authz /application/svnpasswd/cd /application/svnpasswdchmod 700 *

vim passwd #修改用户密码文件,改完立即生效

[users][email protected] = [email protected] = l123

vim authz #修改权限控制文件,改完立即生效,这里的用户一定要在passwd文件中有定义

sbgroup = [email protected],[email protected] #定义一个用户组[sadoc:/]    #定位到版本库sadoc根目录,然后设置它的权限[email protected] = rw #控制单个用户的权限[email protected] = r@sbgroup = r #控制用户组的权限


二、客户端使用方式
1.在windows上安装客户端(区分32和64)
访问uri: svn://172.16.0.1/sadoc
在本地任意目录右击-->SVN Checkout-->填写访问uri-->填写用户名密码(到这里就说明配置成功了)

%APPDATA%/Subversion/auth 保存用户认证信息的缺省目录


2.也可以在linux上安装客户端

mkdir /svndatacd /svndatasvn co file:///application/svndata/sadoc #从本地svn服务上Checkout

或者

svn co svn://172.16.0.1/sadoc /wwwroot/html [email protected] --password=z123

可能会遇到中文问题,调整字符集:

export LC_CTYPE='en_US.UTF-8'export LC_ALL=

查看指定仓库中的数据:

svn ls svn://172.16.0.1/sadoc [email protected] --password=z123 --verbose 

 

三、在checkout到的本地目录中的操作

查看当前目录中文件状态:

svn status -v /wwwroot/html

第一列:【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
第二列:显示工作版本号,
第三列:显示最后一次修改的版本号
第四列:显示修改人

显示指定版本号内的提交记录(-l 5可以指定最近提交,提交记录太多的时候有用):

svn log -r 263:300 /wwwroot/html


查看当前目录所属的svn仓库元信息(URL,Repository Root,Repository UUID,Revision,Last Changed Author等):

svn info 

列出目录下被svn跟踪的文件和目录:

svn list

打包一个干净的目录树,与svn co相同但不包含.svn目录或文件:

svn export svn://172.16.0.1/sadoc /wwwroot/html 

在指定目录(如果后面没有跟目录参数,默认将当前目录以及子目录下的所有文件都更新到最新版本,有-r就是回滚):

svn up $filename 更新指定文件svn up –r 200 file.c –m “update the version to 200” 把本地的版本还原到200

四、svn服务迁移

假设svn服务要从10.0.0.10迁移到172.16.1.10

先在10.0.0.10上备份svn数据

svnadmin dump /application/svndata/sadoc|gzip >sadoc-backup.gz

然后去172.16.1.10搭建好svn服务,并导入svn备份数据(假设新建的仓库目录是 /application/svndata/sadoc )

gunzip sadoc-backup.gzsvnadmin load /application/svndata/sadoc<sadoc-backup

创建代码目录,并checkout

mkdir /wwwroot/htmlcd /wwwroot/htmlsvn co file:///application/svndata/sadoc ./svn up .svn info

如果10.0.0.10上的 /wwwroot/html 目录中有部分文件没有加入svn版本,还需要手动把文件同步到172.16.1.10一次,要注意排除原来的.svn文件

rsync -avzP --exclude=.svn/ [email protected]:/wwwroot/html/ ./

 

广告 广告

评论区