与VCS一起使用的简单问题跟踪程序
issue的Python项目详细描述
小型命令行问题跟踪程序,主要用于单人项目 你不想依赖Github之类的东西来追踪你的 但希望在存储库中保持问题跟踪。
py需要python3,但不依赖于任何外部库。
命令行
安装
# easy_install issue
或
# pip install issue
或者,如果您只想在没有根访问权限的情况下安装它,可以添加 --user到其中一个命令,例如
$ pip install --user issue
它将在~/.local/bin/中安装issue.py,您只需将其添加到 $路径。
开始
$ issue.py init $ issue.py add -d "my new issue" $ issue.py add -t enhancement -d "my enhancement proposal" $ issue.py open 1 bug 2013-12-27 my new issue open 2 enhancement 2013-12-27 my enhancement proposal $ issue.py close 1 closed 1 bug 2013-12-27 my new issue
使用量
usage: issue.py [-h] [subcommand] ... Simple issue handler optional arguments: -h, --help show this help message and exit subcommands: {add,edit,close,search,se,show,init,remove,rm} add Add new issue edit Edit individual issue close Close an issue search (se) Search issues show Show more information on individual issue init Initialize issue file remove (rm) Remove an issue
制作问题文件
要创建新的ISSUES文件,可以使用
$ issue.py init [-g] [-f]
基本上就是生成一个包含[]的文件。如果您指定 -g使gzip压缩问题文件。压缩文件不起作用 很好的版本控制系统,但是如果你 就像。如果已经有要压缩的问题文件,可以 只需使用
压缩ISSUES文件$ gzip ISSUES
它将使ISSUES.gz透明地与issue.py一起工作。 类似地,如果要移回未压缩的文件,可以 用
$ gzip -d ISSUES.gz
如果您已经有一个ISSUES文件,issues.py不会覆盖它,但是 您可以强制它使用-f创建文件。不会的 实际上删除旧文件,但是简单地将其移到一边。
添加问题
添加问题的基本方法是执行
$ issue.py add -d "My issue description"
可以添加-t以在逗号分隔的列表中指定标记。如果你 指定none,则假定为-t bug。
您也可以不使用-d,issue.py将打开默认编辑器 为您在$EDITOR环境变量中指定的。在编辑器中 可以编写多行问题描述,其中第一行将用作 标题和将显示在默认问题列表中。您可以查看 带issue.py show <issue>
的完整描述示例
要添加feature标记的问题,可以执行
$ issue.py add -t feature -d "Add support for .gz files"
您也可以用逗号指定多个制表符,但不使用空格
$ issue.py add -t bug,critical -d "Game crashes on save"
结束问题
解决问题很简单
$ issue.py close <number>
其中<number>是要关闭的问题编号。这个遗嘱 只需将问题状态更改为“已关闭”。结束问题将打印 关闭的问题,该问题将不再显示在问题列表中 违约。您仍然可以使用issue.py search
找到它示例
$ issue.py close 4 closed 4 Feature 2013-12-27 Laser effects would be cool
编辑问题
您可以使用编辑任何问题
$ issue.py edit <number> [-t tag] [-s status] [-d description|-e]
它允许您根据需要编辑问题的标记、状态和描述。 -e不能与-d description一起使用。使用-d您可以 在命令行中指定问题的新描述,但如果 希望更轻松地编辑描述,或者如果问题描述是 多行,您可以使用-e在编辑器中打开 编辑。
-t允许您通过在中指定+或-来添加和删除标记 在标记列表的前面,或者可以使用=替换所有标记 一起。不能同时添加和删除标记。
示例
要将功能标签添加到第6期:
$ issue.py edit 6 -t+feature
删除标记的工作原理类似。从问题46中删除critical标记
$ issue.py edit 46 -t-critical
您还可以在命令行上指定多个标记
$ issue.py edit 7 -t+bug,low
要将问题状态更改为wontfix,可以执行
$ issue.py edit 9 -s wontfix
将问题状态更改为closed,并添加critical标记:
$ issue.py edit 3 -s closed -t+critical
搜索问题
搜索问题与编辑问题非常相似。您可以指定任何 通过-t、-s和-d来按标记、状态或 分别描述。将通过诽谤对公开问题进行调查T, 但是您可以通过指定-s all来搜索所有问题。您可以指定 同时使用逗号分隔多个标记
示例
使用bug标记搜索所有问题:
$ issue.py search -s all -t bug
使用feature标记搜索已解决的问题:
$ issue.py search -s closed -t feature
要搜索crash关键字的未解决问题,只需执行
$ issue.py search -d crash
如果您还记得一个带有critical和bug标记的旧关闭错误 上面写着“不可能,你可以做”
$ issue.py search -s closed -t critical,bug -d impossible
显示
查看不适合的多行问题或问题描述 终端宽度,您可以使用
$ issue.py show <issue>
示例
$ issue.py show 7 Status: open Number: 7 Tag: bug Date: 2013-12-28 Program crashes when you specify both -e and -d I found a way to make the program crash by doing $ issue.py edit 6 -d "will crash" -e I get "Generic error"
消除问题
若要删除问题,您只需执行
$ issue.py remove <issue>
不建议使用remove,因为删除操作无法撤消, 但您可以关闭它,也可以将其标记为wontfix。