• Subversion


    Subversion & SVN
    目标:实现数据的协作编辑和共享
    版本库类型默认是"fsfs"
    架构说明:client端+版本库访问层+版本库+底层库(FSFS)
    组件:svn 、svndumpfilter、svnrdump、svnsync、svnadmin 、svnlook、 svnserve、svnversion
    3种方式访问SVN:基于webdav,基于SVN,直接本地访问
    基于webdav是用Apache的mod_dav_svn模块实现访问版本库
    SVN是一个客户端/服务器的系统,集中式的
    特点:版本库是SVN的核心;记录每次更改
    版本控制系统的价值在于它跟踪文件和目录的版本,记录每个版本(只要不删除)
    文件共享问题:
    版本控制需要避免同时多个人修改的问题,通过”锁定-修改-解锁方案“的可以解决但是只能单人作战,还有多个文件可能有相互依赖关系导致修改失败
    所以,版本更改工作方式:拷贝-修改-合并方案:
    在这种模型里,每一个客户端联系项目版本库建立一个个人工作拷贝—版本库中文件和目录的本地映射。用户并行工作,修改各自的工作拷贝,
    最终,各个私有的拷贝合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
    当发生文件冲突时,需要手工解决冲突,商量保留哪一个更改
    svnserve -d #开启daemon服务模式,客户端访问时需要指定绝对路径(svn://服务器IP/var/svn/project)
    工作副本如何工作:
    subversion根据修订版本和时间戳来判断工作副本的4中不同状态
    基本工作指令:
    checkout #创建副本 ,例如:svn checkout http://svn.example.com/repos/calc
    commit #提交到版本库(原子事务提交),例如:svn commit button.c -m "Fixed a typo in button.c."
    update #更新工作副本
    import #导入文件到库
    SVN内置认证和授权通过svnserve.conf来控制的
    提交前回滚: svn revert
    已提交后回滚:svn merge
    ######################################
    开始SVN之旅(例子):
    创建版本库:svnadmin create project1
    加入文件到版本库:svn import /usr/lib/systemd/system file:///var/svn/project1 -m "Init"
    生成工作副本prj1-Copy:svn checkout file:///var/svn/project1/ prj1-Copy
    版本库信息:svn info svn://192.168.253.150/var/svn/project1
    版本库修改历史:svn log svn://192.168.253.150/var/svn/project1
    列出版本库的文件内容:svn list svn://192.168.253.150/var/svn/project1
    添加一个副本文件到工作副本目录:svn add COPY00000.TXT
    提交到版本库:svn commit -m "create a file" #这时本地副本和版本库内容一致,版本一致
    对比版本库和工作副本的差别:svn diff
    查看版本库某个文件内容:svn cat svn://192.168.253.150/var/svn/project1/wpa_supplicant.service
    ###############################################
    备份版本库:svnadmin dump /var/svn/project1 > PRJ.BAK
    恢复前创建新的版本库:svnadmin create /home/jk/proJ2/
    恢复版本库:svnadmin load /home/jk/proJ2/ < PRJ.BAK
    ########################################

    假设是一种超能力
  • 相关阅读:
    模式使用详解 手拉手就是职责链吗?
    简单说两句味道
    胡说两句...
    补充说明: 表驱动, 链表与职责链
    C++/CLI和TMP: enum hack相當於static const int吗?
    WCF NetTcpBinding Transport安全模式(9) ClientCredentialType证书验证模式Custom验证模式
    WCF NetTcpBinding Transport安全模式(8) ClientCredentialType证书验证模式 PeerOrChainTrust验证模式
    WCF NetTcpBinding Transport安全模式(2) 默认安全配置
    WCF NetTcpBinding Transport安全模式(7) ClientCredentialType证书验证模式 ChainTrust验证模式
    WCF NetTcpBinding Transport安全模式(6) ClientCredentialType证书验证模式 PeerTrust验证模式
  • 原文地址:https://www.cnblogs.com/Haihong72H/p/14967034.html
Copyright © 2020-2023  润新知