回购先生-一个简单的回购管理系统
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