vcs是什么指令

2024-04-14 23:58
文章标签 指令 vcs

本文主要是介绍vcs是什么指令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VCS是什么?

  • 什么是vcstool?
    • 它是如何工作的?
    • 支持哪些VCS类型?
    • 如何使用vcstool?
    • 导出仓库集
    • 导入仓库集
    • 验证仓库文件
  • 如何安装vcstool?

下载ros2 玩一玩,遇到一个demo的安装用到vcs。

mkdir -p ~/rmf_demos_ws/src
cd ~/rmf_demos_ws
wget https://raw.githubusercontent.com/osrf/rmf_demos/master/rmf_demos.repos
vcs import src < rmf_demos.repos

打开https://raw.githubusercontent.com/osrf/rmf_demos/master/rmf_demos.repos,文件内容如下:

repositories:rmf/rmf_core:type: giturl: https://github.com/osrf/rmf_core.gitversion: masterrmf/rmf_schedule_visualizer:type: giturl: https://github.com/osrf/rmf_schedule_visualizer.gitversion: masterrmf/traffic_editor:type: giturl: https://github.com/osrf/traffic_editor.gitversion: masterrmf/rmf_demos:type: giturl: https://github.com/osrf/rmf_demos.gitversion: master

Vcstool是一个命令行工具,旨在使使用多个仓库更加容易

什么是vcstool?

Vcstool是一个版本控制系统(VCS)工具,旨在使使用多个仓库更加容易。

注意:请勿将此工具与vcstools(后缀s)混淆,后者提供用于与不同版本控制系统进行交互的Python API。两者之间最大的区别是:

  • vcstool在文件系统中可用的仓库工作副本旁边不使用任何状态。
  • vcstool export的文件格式使用存储库的相对路径作为YAML中的键,从而避免了设计冲突。
  • 与vcstools包括顶部构建的命令行工具相比,vcstool的代码行明显少得多。

它是如何工作的?

Vcstool可在任何文件夹中递归搜索受支持的存储库。在这些存储库中,vcstool用请求的命令(即diff)调用本机VCS客户端。

支持哪些VCS类型?

Vcstool支持Git,Mercurial,Subversion,Bazaar。

如何使用vcstool?

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

vcs help

默认情况下,vcstool在当前文件夹下搜索仓库。可以选择传递一个路径(或多个路径)以搜索不同位置的仓库:

vcs status /path/to/several/repos /path/to/other/repos /path/to/single/repo

导出和导入仓库集

Vcstool可以导出和导入复制一组存储库版本所需的所有信息。Vcstool使用简单的YAML格式对该信息进行编码。此格式包括一个根密钥存储库,在该根存储库下,每个本地存储库都由用其相对路径作为键的字典来描述。这些词典中的每一个都包含键类型,URL和版本。

对于一组两个存储库(通过Git克隆的vcstool和通过Subversion检出的rosinstall),结果类似于以下内容:

repositories:vcstool:type: giturl: git@github.com:dirk-thomas/vcstool.gitversion: masterold_tools/rosinstall:type: svnurl: https://github.com/vcstools/rosinstall/trunkversion: 748

导出仓库集

vcs export命令以YAML格式输出所有仓库的路径,vcs类型,URL和版本信息。通常将结果通过管道输到文件:

vcs export > my.repos

如果仓库当前位于分支的顶端,则遵循该分支。这意味着如果分支在此期间已发展,则以后的导入可能会获取较新的修订版。此外,如果本地分支已从远程仓库演变而来,则导入可能不会导致完全相同的状态。

要确保将确切的修订版本存储在导出的数据中,请使用命令行参数--exact。由于特定的修订版既不与分支机构无关,也不与远程对象(对于Git和Mercurial)无关,因此该工具将检查当前的哈希值是否存在于任何远程对象中。如果它存在多个,则在远程originupstream按字母顺序在其他任何远程站点之前考虑。

导入仓库集

vcs import命令克隆所有通过stdinYAML格式传递的仓库。通常,以前导出的文件的数据通过管道传递到:

vcs import < my.repos

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

仅对于此命令,vcstool支持伪客户端tarzip,它们从URL提取tarball /zip文件并解压缩其内容。对于这两种类型,版本密钥是可选的。如果指定,则仅从归档中提取由版本值指定的子文件夹中的条目。

验证仓库文件

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

vcs validate < my.repos

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

如何安装vcstool?

在基于Debian的平台上,推荐的方法是安装软件包python3-vcstool。在Ubuntu上,这是使用apt-get完成的:

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是什么指令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/904386

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令,开发者可以发送自定义广播给系统或应用,触发应用中的广播接收器(BroadcastReceiver)。广播机制是 Android 的一种组件通信方式,应用可以监听广播来执行

mysql中导入txt文件数据的操作指令

1 表tt的格式:    CREATE TABLE `tt` (   `ind` int NOT NULL auto_increment,   `name` char(100) default NULL,   PRIMARY KEY  (`ind`)  )   2 文件d.txt的内容示例:  1,a  2,b  3,c

可选择的反思指令微调

论文:https://arxiv.org/pdf/2402.10110代码:GitHub - tianyi-lab/Reflection_Tuning: [ACL'24] Selective Reflection-Tuning: Student-Selected Data Recycling for LLM Instruction-Tuning机构:马里兰大学, Adobe Research领

驱动安装注册表指令

HKCR: HKEY_CLASSES_ROOT HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE HKU: HEKY_USER HER: 相对根键

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,它被设计用来提供一对多的消息分发和应用之间的通讯,尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构,客户端可以订阅任意数量的主题,并可以发布消息到这些主题。服务器(通常称为MQTT Broker)则负责接受来自客户端的连接请求,并转发消

matlab一些基本重要的指令

重点内容 运行MATLAB的帮助demo,在Command Window 输入 “demo”,或在Launch Pad 选项卡“demos” 任何时候都可以: 清除Command Window内容:clc 清除Figure Window(图形窗口) clf 清除workspace 变量内容: clear 注意:M脚本文件和输入指令中的变量都在workspace中,为避免变量冲突,一般在

vue的v-slot指令使用总结

父组件代码:  <template><div id="app"><img alt="Vue logo" src="./assets/logo.png"><slotdemo> <template v-slot:a>this is a </template>asdad</slotdemo></div></template><script>import slotdemo from './compon

maven 指令之package 和install的区别

https://blog.csdn.net/zy103118/article/details/79901357   maven 指令之package 和install的区别 2018年04月11日 19:08:46 brave_zhao 阅读数:2018更多 个人分类: maven maven package 和 install 区别 原创 2016年08月18日 14:55:26