Mercurial Bitbucketize 扩展
项目描述
发布您的下一个仓库到bitbucket,无需通过网页界面进行操作。还可以轻松将其从私有切换到公共(或反之),设置描述,启用或禁用wiki和问题跟踪器...
1 摘要
在最简单的配置中,扩展与通用的BitBucket客户端一样工作
hg bitbucket_create acme-toolkit --wiki --private --forks=private hg bitbucket_modify acme-toolkit --public -m "THE toolkit above all toolkits" hg bitbucket_status acme-toolkit hg bitbucket_delete acme-toolkit hg bitbucket_goto acme-toolkit
这些命令在 https://bitbucket.org/«USER»/acme-toolkit 上运行,其中 「USER」 是您的 BitBucket 用户名(在扩展配置中配置)。
配合 路径模式,它还可以推断当前仓库的 适当名称。
# Create private bitbucket clone of current repo hg bitbucket_create # ... or maybe public one hg bitbucket_create --issues --public -l python -m "Webapp for nowhere.com" hg bitbucket_status hg bitbucket_modify --language=perl hg bitbucket_goto --issues hg bitbucket_delete
为了节省时间,所有命令都有更短的别名(如 hg bb_create、hg bb_status 等)。
2 启用和配置扩展
按照以下说明安装扩展(请参阅 安装 部分)。然后启用它,并通过在 ~/.hgrc 中写入来配置一些关键参数。
[extensions] mercurial_bitbucketize = [bitbucketize] user = John login = johny@gmail.com path_alias = bitbucket
这里:user 是您的短 BitBucket 用户名(出现在您的仓库 URL 中的名称)和 login 是您的 Atlassian 登录(在浏览器登录时输入的用户名),
path_alias 是可选的,意味着如果为当前仓库定义了此类别名(此处:bitbucket),则可以使用它来推断要操作的 BitBucket 仓库的名称。如果您安装并启用了 路径模式 并定义适当的模式,那么这会非常好,例如
[extensions] mercurial_bitbucketize = mercurial_path_pattern = [bitbucketize] user = John login = johny@gmail.com path_alias = bitbucket [path_pattern] bitbucket.local = ~/devel/{below} bitbucket.remote = https://bitbucket.org/John/{below:/=-}
(具有这些设置,bitbucketize 将知道 ~/devel/libs/acme 应与 BitBucket 上的 https://bitbucket.org/John/libs-acme 配对)。
强烈建议您安装 Keyring 以避免反复提示输入 BitBucket 密码(bitbucketize 欢迎使用 Keyring 将密码保存在安全存储中)。
3 命令
所有命令都有标准帮助(hg help bitbucket_create 等),请查看以获取所有选项的详细列表。
所有命令都有以 bb_ 为前缀的更短别名(您可以使用 hg bb_modify 而不是 hg bitbucket_modify)。
3.1 创建BitBucket仓库(hg bitbucket_create)
在 BitBucket 上创建新仓库。您可以给出名称
hg bitbucket_create tinyapps-acme
(然后命令是无上下文的)或依赖推断
hg bitbucket_create
(后者依赖于适当的 path_alias 配置)。
默认情况下,仓库是私有的,没有维基、没有问题跟踪器、没有描述。其中一些可以指定,例如
hg bb_create --wiki --issues --descr="My repo" --public
bitbucket_create 命令不会推送代码(创建的仓库是空的)。这是故意的,以便在您推送之前验证名称和设置。
3.2 切换仓库功能(hg bitbucket_modify)
使用 bitbucket_modify 命令修改仓库功能。
可以将其切换为公共
hg bitbucket_modify --public
或切换回私有
hg bitbucket_modify --private
并正确修改元数据
hg bitbucket_modify --lang=Perl --descr="TIMTOWTDI"
上述示例操作在 推断 仓库上。当然也可以指定名称
hg bitbucket_modify tinylibs-acme --public --wiki
同样切换维基和问题跟踪器
hg bitbucket_modify --wiki hg bitbucket_modify --no-wiki hg bitbucket_modify --issues hg bitbucket_modify --no-issues
3.3 检查仓库状态(hg bitbucket_status)
使用 bitbucket_status 命令检查仓库是否存在,并打印其元数据
hg bitbucket_status
或
hg bitbucket_status tinylibs-acme
3.4 删除BitBucket克隆(hg bitbucket_delete)
使用 bitbucket_delete 删除 BitBucket 克隆
hg bitbucket_delete
或,删除具有特定名称的仓库
hg bitbucket_delete acme
3.5 访问BitBucket网页(hg bitbucket_goto)
在BitBucket上打开仓库相关网页的简单快捷方式。
访问概览
hg bitbucket_goto tinylibs-acme
或(通过名称推断)
hg bb_goto
访问特定页面
hg bitbucket_goto tinylibs-acme --issues
或(通过名称推断)
hg bb_goto -l
(查看 hg help bb_goto 了解所有支持的页面列表)。
默认系统浏览器被使用(根据各种特定于系统的约定建立)。如果这个猜测是错误的,可以在 .hgrc 中进行配置。例如
[browser] type = firefox
其中 type 是 webbrowser 支持的值之一(firefox、chrome、safari、opera、konqueror、……)或
[browser] command = /usr/bin/firefox
(前者略微更可取,因为它可以激励浏览器打开窗口)。
4 安装
4.1 Linux/Unix
4.1.1 从PyPi安装
要首次安装,只需
pip install --user mercurial_bitbucketize
这将安装扩展本身及其所有依赖项。当然,其他安装Python包的方法也适用(如 sudo easy_install mercurial_bitbucketize)。
在 ~/.hgrc 中写入以激活
[extensions] mercurial_bitbucketize =
要升级
pip install --upgrade --user mercurial_bitbucketize
正如我已经说的,强烈建议您还安装 Keyring 和 Path Pattern。
4.1.2 为开发安装
克隆扩展本身及其依赖项(《PyBitBucket 和 mercurial_extension_utils)
hg clone git+https://bitbucket.org/atlassian/python-bitbucket.git # Or git clone https://bitbucket.org/atlassian/python-bitbucket.git hg clone https://foss.heptapod.net/mercurial/mercurial-extension_utils hg clone https://foss.heptapod.net/mercurial/mercurial-bitbucketize
如果您更喜欢在稳定版本上工作,请更新到最新标签。
为开发安装它们(先安装依赖项)
pip install --user --edit python-bitbucket pip install --user --edit mercurial-extension_utils pip install --user --edit mercurial-bitbucketize
按常规激活
[extensions] mercurial_bitbucketize =
要升级,只需拉取更改并在适当的仓库中更新。
4.2 Windows
如果您已安装Python,可以使用 pip 安装必要的模块,就像在Linux上一样
pip install --user mercurial_bitbucketize
由于Mercurial(无论取自 TortoiseHg 还是自己的包)使用自己的捆绑Python,您必须通过指定路径来激活
[extensions] mercurial_bitbucketize = C:/Python27/Lib/site-packages/mercurial_bitbucketize.py ;; Or wherever pip installed it
扩展将负责查找必要的模块。
如果您没有Python,您可以尝试在 为开发安装 中描述的上述方法,但我怀疑您将面临缺失依赖项的问题。因此,最好安装Python。
6 历史
查看 HISTORY.rst
7 仓库、错误报告、增强建议
开发在HeptaPod上跟踪,请查看 https://foss.heptapod.net/mercurial/mercurial-bitbucketize/
在那里使用问题跟踪器进行错误报告和增强建议。
感谢 Octobus 和 Clever Cloud 为托管此服务提供支持。
8 已知问题
值错误在创建仓库时
如果 hg bitbucket_create 以
ValueError: dictionary update sequence element #0 has length 1; 2 is required
您在 pybitbucket 中观察到重复性错误的效应。
将 pybitbucket 升级到 0.6.1 版本或更高版本应该可以解决这个问题。
如果目前无法这样做,您也可以忽略此错误(错误发生在创建仓库之后,其唯一后果是您看不到确认消息)。使用 hg bitbucket_details 检查仓库状态是否正确。
9 附加说明
有关此扩展的信息也可在 Mercurial Wiki 上找到: http://mercurial.selenic.com/wiki/BitBucketizeExtension
请查看我写的其他 Mercurial 扩展: http://code.mekk.waw.pl/mercurial.html
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
mercurial_bitbucketize-0.9.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dbb53772bcad376954223df917a109ade8e3b706d42e424341fbeb6547d13713 |
|
MD5 | 8156391501e45f1244a4d54b9534e020 |
|
BLAKE2b-256 | 39c1e616493c64c4f2d65f5a8401d1da368e9e81f5ef0033a2aedb11c66c45a0 |