• vcstool是什么?


    为什么会去了解vcstool,在想要手动编译并且获取ROS源码的时候,有一个Get ROS 2 code的章节中使用到了这个工具。

    mkdir -p ~/ros2_foxy/src
    cd ~/ros2_foxy
    wget https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos
    vcs import src < ros2.repos
    

    vcstool

    用于维护来自多个版本控制系统的项目工作区的命令行工具。

    vcstool 提供了基于单个工作区定义文件(.repos 或 .rosinstall)来管理多个本地 SCM 存储库(支持 git、mercurial、subversion、bazaar)的命令。

    vcstool 替换wstool。与 wstool 相比,它在文件系统中存储库的工作目录旁边没有任何状态。

    为了与rosinstall_generator兼容,可以读取 .rosinstall 文件。vcs export生成的 .repos 文件的文件格式提供了更严格的保证(例如,所有条目在获取它们时都是无冲突的)。

    安装

    对于在Debian的平台

    sudo apt install python3-vcstool
    

    或者

    sudo pip install -U vcstool
    

    在Ubuntu平台

    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
    sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xAB17C654
    sudo apt-get update
    sudo apt-get install python3-vcstool
    

    使用

    脚本vcs的使用类似于VCS客户端git,hg等。help命令提供了可用命令的列表以及其他说明:

    vcs help
    

    导出仓库集

    vcs export可以把当前工作空间以YAML格式输出所有仓库的路径,vcs类型,URL和版本信息。

    vcs export > my.repos
    

    导入仓库集

    mkdir -p ~/ws/src
    cd ~/ws
    vcs import src < PATH_TO_ROSINSTALL_FILE.rosinstall #从`.repos`或者`.rosinstall`填充文件到工作区
    vcs pull  #更新文件
    

    验证仓库文件

    vcs validate命令获取一个YAML文件,该文件通过stdin传入并验证其内容和格式。先前导出的文件或手工生成的文件的数据通过管道传递到:

    vcs validate < my.repos
    

    validate命令还支持rosinstall文件格式的输入。

    总之就是,这个工具很适合管理多个仓库相互依赖的工作空间,例如ROS2的工作空间管理就是使用这个工具。

  • 相关阅读:
    ExtAspNet下通过文档路径实现文档的下载
    ExtjS学习--------Ext.define定义类
    【C语言天天练(二三)】errno变量
    Linux 内核kobject 层次, kset, 和子系统
    Linux 内核释放函数和 kobject 类型
    Linux 内核引用计数的操作
    Linux 内核 kobject 初始化
    Linux 内核 嵌入的 kobjects
    Kobjects, Ksets 和 Subsystems
    Kobjects, Ksets 和 Subsystems
  • 原文地址:https://www.cnblogs.com/hokori/p/15342696.html
Copyright © 2020-2023  润新知