zoukankan      html  css  js  c++  java
  • svn小技巧——处理复杂目录结构

    工作中,遇到这样的情况:

    一个svn项目目录下,存在多个子目录,比如:https://svn-root/team-root/project-A,下面包含A-1, A-2, ... , A-n多个目录。整个项目checkout可以使用:

    svn co https://svn-root/team-root/project-A

    但是,如果真的执行这一操作,会耗费很多时间和磁盘空间,不合算

    平常情况下,如果只有一个子目录的修改,可以选择只checkout相应的子目录,如:

    svn co https://svn-root/team-root/project-A/A-2

    commit的操作在对应的子目录下进行

    但是,如果遇到需要同时修改多个子目录,比如A-2, A-5的情况,就会发现,单独checkout两个子目录的方法不支持直接在项目目录下commit

    svn co https://svn-root/team-root/project-A/A-2
    svn co https://svn-root/team-root/project-A/A-5
    [%some edit here%]
    svn ci A-2 A-5

    得到的错误是

    '.' is not a working copy

    说是当前目录并非工作目录,那是很自然的,因为没有checkout project-A,那有没有办法能够不checkout庞大的project-A来完成这次修改呢,答案是有的

    svn co https://svn-root/team-root/project-A --depth empty
    svn up A-2 A-5

    选用checkout的depth empty选项,可以得到svn控制的目录,但是不checkout实际的文件,然后结合svn up,可以做到选择性的checkout目录

    这样的话,既实现了同时ci的需求,又可以节省时间空间,问题解决:)

  • 相关阅读:
    ES6 Promise的resolved深入理解
    npm 重点小结
    nodemon 基本配置与使用
    CSS 标准发布流程
    HTML表格基础详解
    <linux/init.h>,<linux/module.h>头文件不存在等问题的解决方法
    libcstl中的list没法插入自定义数据
    Linux下C编写基本的多线程socket服务器
    Linux下C连接MySql数据库
    C++实现最基本的LRUCache服务器缓存
  • 原文地址:https://www.cnblogs.com/alexxyjiang/p/3054847.html
Copyright © 2011-2022 走看看