回购先生-一个简单的回购管理系统

Mr-Repo的Python项目详细描述


Author:Ryan McGowan
Email:ryan@ryanmcg.com

导言

Repo先生是一个用python编写的Repo管理脚本很简单。 基本上,它将任何目录mr.repo初始化为 git存储库的可配置存储库。它创建两个文件来跟踪 它的状态

  • A YAML file (^{tt1}$) which keeps extended information on repositories that may appear in the directory
  • Another file, (^{tt2}$) file keeps track of what repositories are currently available in the directory

…但为什么?

我的几台计算机上都有一个repo文件夹此文件夹包含 我希望在多台计算机上可以使用的大部分git存储库。我用 Dropbox可在我的计算机之间同步大量文件,但不用于 有几个原因。但是,我仍然想管理我的回购文件夹中的内容 在我的电脑上。所以,我将把.mr_repo.yml文件与dropbox同步 让Repo先生做剩下的工作

运行Repo先生/安装

回购先生可通过PIP获得。

pip install Mr-Repo

从源安装Repo先生:

git clone git://github.com/RyanMcG/Mr-Repo.git
cd Mr-Repo
python setup.py install

如果要从源代码运行repo先生,需要手动获取 依赖关系优先。

# Assuming you are already in the Mr-Repo directory
pip install -r requirements.txt
pip install -r dev-requirements.txt # Optional
./mr

用法

运行init命令自动设置这两个文件 正在解释子目录

mr_repo init [--clean]

--clean选项会导致init命令创建空白跟踪文件,而不会自动解释子目录

安装完文件后,可以按其目录添加和删除repo 带有add和remove命令的名称。

mr_repo add <repo/direcotry name>
# Or to remove a repo
mr_repo rm <repo/direcotry name>

您还可以使用^{tt7}自动重新解释当前目录$ 命令

mr_repo update

这些都是无聊的事。真正有用的mr.repo部分是 它能够从其他地方提取您添加的回购,但不可用 在当前目录中

要确定哪些回购协议,只需使用list命令。默认情况下 list命令输出当前可用repo的列表使用-a标志 还显示有关不可用回购的信息(即不可用的回购 当前在CWD中设置)。正如您所期望的,-n标志可以用于 显示当前不可用的回购协议。

mr_repo list [-a | --all] [-n | --not-available]

一旦你知道什么是回购协议或目前不可用,你可以 get/unget他们

mr_repo get <not currently available repo name>
mr_repo unget [-f | --force] <currently available repo name>

如果所有更改都已完全提交,unget命令将删除repo 并更新.this_repo文件。如果a有未承诺的 更改将引发错误,命令将失败如果用户想删除它 无论如何,用户可以添加-f标志来强制删除

待办事项

  • 更新此文件。
  • 将depth参数添加到update以启用最大深度的配置。
  • --force选项添加到update。改为强制更新配置 忽略现有的。
  • --current-only更改为--controlled。此选项只应 更新(添加到.this_repo)中已引用的存储库 .mr_repo.yml
  • 当存在--verbose选项时打印调试/处理信息。
  • 支持一次添加/删除/获取/取消设置多个存储库。
  • 创建mrrepoRepo包装类以在mrrepo中使用,而不是调用 直接回购 *支持以下格式:Git(done)、Hg、MrRepo、Folder

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaGWT:何时使用Lazydemelement?   Java中跟踪消失线程的多线程处理   java Springboot未能配置数据源:“url”,但我没有使用数据库   java为按钮生成随机位置   math Java:包含二项式系数计算的表达式   java通过AsyncTask传递参数   从路径错误创建java文件   高流量网站的性能播放框架、Java、Apache、PostgreSQL、JPA和Hibernate   java将4D矢量转换为长矢量   arraylist Java循环在没有任何错误的情况下终止   java正在制作一个计算器应用程序,希望在第二个片段中更新历史,但无法完成   java将信息从IntentService发送到Activity   java如何在游戏中插入大量实体!工作   javascript如何在ScriptEngineforJava中从数学中获得准确的结果?