zoukankan      html  css  js  c++  java
  • svn学习笔记4(进阶应用)

    工作副本相关命令:

    svn list       -列出当前目录下处于版本控制的所有文件

    svn status       -列出工作副本中的文件(夹)的状态

    svn log      -查看提交日志(来自svn ci 的 -m参数)

    svn info     -工作副本及文件(夹)的详细信息

    svn list = svn ls  只会列出处于版本控制的文件的顶级目录,而不会递归显示出来,

    svn ls --recursive 会递归显示出来处于版本控制的所有文件夹下的文件

    svn ls -v --recursive 会显示处于版本控制下文件详情.

    svn status 列出工作副本的文件状态 ,

    ?    -无版本控制

    D   -已被标记从版本库中删除

    M  -已被编辑过

    A   -已被标记增加到版本控制中

    R   -文件被替换

    C   -文件存在冲突

    !   -文件缺失

    svn info --xml 出以xml格式输入工作副本的详细信息


     多版本库解决方案

    前提:

    TCP/IP协议规定端口号的范围为 0-65535

    0-1023号为公认端口         ftp协议:21 http协议:80

    1024-49151号为注册端口      mysql: 3306 svn服务端:3690

    49152-65535号为私有端口

    1:

    svnserve -d -r /path/repos/版本库名称 --listen-port 端口号

    killall svnserve  所有版本库都会被停止

    检出 svn co svn://ip:端口号  文件名  或者  svn co svn://ip/svn版本库名称  文件名

    2:

    svnserve -d -r /path/repos/  同时启动repos下多个版本库

    检出 svn co svn://ip/svn版本库名称 另存的文件名

    优缺点比较:

    多个端口号: 版本库可以创建在任意位置,但是端口号容易混淆.

    一个端口号:版本库必须在同一目录下,无需分配端口号.


    工作副本->工作副本

    svn copy = svn cp  复制工作副本到工作副本 等同于 svn add 新文件

    svn cp 源文件名称 目标文件名称 

    svn cp -r 版本号 源文件名称  目标文件名称      //复制历史版本文件

    svn cp 文件1  文件2 文件3  ./path/        //批量复制文件

    工作副本->线上版本库(不支持跨库操作,提交是不可以跨库的)

    svn cp  文件名 svn ://ip/版本库名称/目标文件名 -m ""      //从本地工作副本直接复制到线上版本库,相当于svn ci

    ps:出现

    svn: E235000: In file '/build/subversion-8E3yhQ/subversion-1.9.3/subversion/libsvn_client/copy.c' line 2099: assertion failed (commit_items != NULL)
    Aborted (core dumped)错误时候应该检查检出时与复制时所填svn url是否一致 检出的时候 svn co svn://域名:端口号/目标文件名 -m "" 复制时 必须同样svn cp 工作副本文件 svn://域名:端口号/目标文件 -m ""   

     版本库->工作副本(支持跨库操作)

    svn cp svn://ip/版本库名称/文件名 目标文件名

    版本库->版本库(不支持跨库操作)

    主干版本与分支版本

    svn cp svn://ip/版本库名/    svn://ip/版本库名称/主干版本名称(trunk) -m ""

    svn cp svn://ip/版本库名称/主干版本库名称/     svn://ip/版本库名称/分支版本库名称(branch) -m ""

    建议版本库刚创建好之后创建三个文件夹 trunk(主干版本),branch(分支版本),tag(备份)

     

     

  • 相关阅读:
    从无到有实现登录功能以及thinkphp怎么配置数据库信息
    Navicat软件中mysql中int、bigint、smallint和tinyint的区别、布尔类型存储以及乱码问题的解决
    ThinkPHP实现对数据库的增删改查
    ListView实现点击事件以及总结
    仿迅雷播放器教程 -- 提取exe资源(12)
    仿迅雷播放器教程 -- C++ windows界面库对比(11)
    仿迅雷播放器教程 -- C++ 100款开源界面库 (10)
    仿迅雷播放器教程 -- C++界面制作方法的对比 (9)
    仿迅雷播放器教程 -- 权威界面库对比 (8)
    仿迅雷播放器教程 -- 十年经验大牛对MFC的认识 (7)
  • 原文地址:https://www.cnblogs.com/aln0825/p/8271242.html
Copyright © 2011-2022 走看看