跳转到主要内容

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_createhg 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

其中 typewebbrowser 支持的值之一(firefoxchromesafarioperakonqueror、……)或

[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

正如我已经说的,强烈建议您还安装 KeyringPath 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/

在那里使用问题跟踪器进行错误报告和增强建议。

感谢 OctobusClever 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 (21.5 kB 查看哈希值)

上传时间

由 ... 支持