处理GitLab合并请求的工具集合,具有阿尔卑斯风格。

mkmr的Python项目详细描述


mkmr公司

在GitLab上创建合并请求的小python3实用程序,特别支持alpinelinux的自托管实例。在

安装

除非您需要绝对最新的版本立即请使用系统包。在

这个包可以在alpinelinux的社区repo中找到

If you packaged it for your distro please tell me so I can add it

# apk add mkmr

设置

需要在正在使用的存储库中设置以下内容:

  1. 远程名为origin(或使用--origin=ORIGIN),URL 必须指向您想要贡献的项目分支。在
  2. 远程名为upstream(或使用--upstream=UPSTREAM),URL 必须指向您要贡献的项目的规范存储库。在

示例:

^{pr2}$

请注意,fetch URL将用于所有交互,实际上只支持https://而其他ssh URL类型(如ssh://和git://将被静默转换为https://。在

  1. (首次用户)使用--token=TOKEN调用脚本,它将自动写入配置中,在以后的使用中不再需要。在

简单用法和常见示例

完成设置后,可以使用以下工具轻松运行mkmr:

$ mkmr

它将自动创建从活动分支到主分支的合并请求。在

不同的源和目标分支

有时您希望创建一个以另一个分支为目标的合并请求,有时您希望另一个分支作为合并请求中更改的源,有时您希望两者都是。在

对于那些使用--source=SOURCE--target=TARGET开关的用户,如下所示:

$ mkmr --target=dev
$ mkmr --source=foo
$ mkmr --source=foo --target=bar

处理标题、描述和标签

mkmr将自动从合并请求的提交中派生标题和描述,如果有多个提交,则会提示您选择一个。在

如果您使用的是alpinelinux的GitLab实例,那么它还会为您的合并请求派生相关的标签。在

如果希望传递您自己的标题和描述,请使用--title=TITLE和{},如下所示:

$ mkmr --title="This is an amazing merge request"
$ mkmr --title="Not amazing merge request" --description="sike!"

使用--edit或{}开关时,将在文本编辑器中打开标题和描述(由$VISUAL、$editor、vim、emacs、nano决定)。在

如果要向合并请求添加标签,请使用--labels=LABELS,标签应该用逗号隔开,如下所示:

$ mkmr --labels=help-wanted,good-first-issue

切换到新的个人访问令牌

最终你想轮换你的个人访问令牌,在这种情况下,你可以 组合--token=TOKEN--overwrite选项。后一种方式的使用 配置文件的private_token将被覆盖。在

$ cat $XDG_CONFIG_HOME/mkmr/config[gitlab.alpinelinux.org]url=https://gitlab.alpinelinux.orgprivate_token=BAR
$ mkmr --token=FOO --overwrite$ cat $XDG_CONFIG_HOME/mkmr/config[gitlab.alpinelinux.org]url=https://gitlab.alpinelinux.orgprivate_token=FOO

配置

mkmr使用INI格式的文件的方式与pythongitlab相同,实际上mkmr只编写一个节(比如[gitlab.alpinelinux.org]),并在其中写入带有相关值的private_token和{}键。在

编写完成后,配置文件将传递给pythongitlab,它用于与gitlab API交互。在

将搜索以下位置(如果不存在这些位置,将自动创建第一个位置):

  • $XDG_CONFIG_HOME/mkmr/CONFIG(仅当设置了XDG_CONFIG_HOME时)
  • $HOME/.config/mkmr/config(如果没有设置XDG_config_HOME,但HOME已设置)

--config开关可用于传递配置文件的完整路径,如下所示:

$ mkmr --config=/tmp/config

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

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?