1.基本概念
svn是一个c/s体系软件。
svn是一个文件服务器,server可记录下client对server库中文件的所有历史改动和改动细节
svn在软件开发领域用于项目的文档和源码的管理
svn是cvs替代品
svn是现在的主流版本控制软件
2 基本使用(假设svn软件安装在linux下 /usr/local/svn 目录)
2.1 建立版本库
2.1.1 规划版本库
# mkdir /opt/repos (建立版本库目录)
# svnadmin create /opt/repos (利用服务器工具创建版本库,创建后自动生成的目录结果如下)
/opt/repos/conf (配置文件所在目录)
/db (数据真实存储地)
/dav
/format
/hooks
/locks
/README.txt
2.2.3 创建管理员账户(这步不是必须的,而且和权限部分相关,所以我们现在只创建一个当前这个版本库的管理员帐号,密码都为svnadmin)
2.2.4 启动服务器
# svnserve -d -r /opt/repos
2.2 svn访问方式
2.1.1 服务器文件直接访问(不做介绍)
2.1.2 结合apache的http访问(不做介绍)
2.1.3 客户端服务器访问(用户通过svn客户端连接svn服务器)
2.1.3.1 工程结构的初始化(创建一个空项目提交到服务器中)
# cd /tmp 进入临时目录
# mkdir demo
# cd demo
# mkdir trunk branches tags (创建三个子目录trunk,branches,tags)
# svn import /tmp/demo svn://${ip}/demo --username=svnadmin (在服务器上创建了一个空项目demo)
# rm -rf /opt/demo (在客户端删除这个空的项目,因为服务器上已经导入了,客户端则可以删掉)
2.1.3.2 导出项目(在客户端导出项目进行开发查看,因为笔者只有一台机则还是在和svn服务器同一台机上进行导出)
# svn checkout svn://${ip}/ /tmp --username=svnadmin (导出所有项目)
/tmp/demo/tags
/trunk
/branches
# svn checkout svn://${ip}/demo /tmp --username=svnadmin (导出demo项目)
/tmp/tags
/trunk
/branches
svn是一个c/s体系软件。
svn是一个文件服务器,server可记录下client对server库中文件的所有历史改动和改动细节
svn在软件开发领域用于项目的文档和源码的管理
svn是cvs替代品
svn是现在的主流版本控制软件
2 基本使用(假设svn软件安装在linux下 /usr/local/svn 目录)
2.1 建立版本库
2.1.1 规划版本库
# mkdir /opt/repos (建立版本库目录)
# svnadmin create /opt/repos (利用服务器工具创建版本库,创建后自动生成的目录结果如下)
/opt/repos/conf (配置文件所在目录)
/db (数据真实存储地)
/dav
/format
/hooks
/locks
/README.txt
2.2.3 创建管理员账户(这步不是必须的,而且和权限部分相关,所以我们现在只创建一个当前这个版本库的管理员帐号,密码都为svnadmin)
2.2.4 启动服务器
# svnserve -d -r /opt/repos
2.2 svn访问方式
2.1.1 服务器文件直接访问(不做介绍)
2.1.2 结合apache的http访问(不做介绍)
2.1.3 客户端服务器访问(用户通过svn客户端连接svn服务器)
2.1.3.1 工程结构的初始化(创建一个空项目提交到服务器中)
# cd /tmp 进入临时目录
# mkdir demo
# cd demo
# mkdir trunk branches tags (创建三个子目录trunk,branches,tags)
# svn import /tmp/demo svn://${ip}/demo --username=svnadmin (在服务器上创建了一个空项目demo)
# rm -rf /opt/demo (在客户端删除这个空的项目,因为服务器上已经导入了,客户端则可以删掉)
2.1.3.2 导出项目(在客户端导出项目进行开发查看,因为笔者只有一台机则还是在和svn服务器同一台机上进行导出)
# svn checkout svn://${ip}/ /tmp --username=svnadmin (导出所有项目)
/tmp/demo/tags
/trunk
/branches
# svn checkout svn://${ip}/demo /tmp --username=svnadmin (导出demo项目)
/tmp/tags
/trunk
/branches