用于管理大量github存储库的cli工具

repobee的Python项目详细描述


RepoBee-在GitHub和GitLab上管理Git存储库的工具

Build StatusCode CoverageDocumentation StatusPyPi VersionSupported Python VersionsSupported PlatformsLicenseCode Style: Black

Important: RepoBee v2.0.0 is out now! There are some breaking changes, see the release notes for details

概述

repobee是一个用于管理大量数据的命令行界面(cli)工具 在github和gitlab平台上的git存储库,包括云和 自我托管最基本的用例是自动生成学生 基于master(即模板)存储库的存储库,可以包含 例如指令和框架代码。给一个或多个主人 存储库,为学生或小组生成这些存储库的副本 命令离开!不过,这只是表面现象:RepoBee也有 更新学生报告的功能(也许你忘了什么?),批次 克隆学生报告(修改任务时方便),给学生 只读访问其他学生的回购供同行评审,更多! 还有一个plugin system在 允许python程序员以各种方式扩展repobee的地方,并结束 用户可以简单地安装其他人创建的插件。这种插件的一个例子 是^{},它运行 教师在克隆的学生报告中定义了Java代码上的JUnit4测试类

repobee目前正用于 KTH Royal Technical Institute of Technology。这个 课程有大约200名学生和数千个知识库, 允许我们在相当大的范围内测试repobee。

在学术背景下引用RepoBee

如果您想在论文中引用repobee,请引用以下论文:

Simon Larsén and Richard Glassey. 2019. RepoBee: Developing Tool Support for Courses using Git/GitHub. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '19). ACM, New York, NY, USA, 534-540. DOI: https://doi.org/10.1145/3304221.3319784

特色亮点

  • 兼容GitHub和GitLab(云和自托管)
    • GitLab支持在alpha中,并且正在不断更新,请参见 GitLab docs用于 细节。
  • 基于主(模板)存储库为学生生成存储库
  • 批量克隆学生存储库
  • 同行评议的特点:让学生阅读其他学生的 要进行代码复查的存储库。一旦审查完成,就可以轻松撤消读取权限 完成。
  • 支持小组作业(每个存储库有多个学生)
  • 打开、关闭并列出选定学生存储库的问题
  • plugin system
  • 在github/gitlab端只需要很少的配置
    • 唯一的要求是拥有一个具有私有存储库的组织/组 能力!
  • 不需要本地配置

安装

repobee在pypi上,所以python3 -m pip install repobee应该能做到。见 install instructions 更详细的说明。

开始

开始使用repobee的最好方法是 Docs,你(和其他人 会发现 user guide。 它通过实例介绍了repobee的各种命令的使用, 应该让你不费吹灰之力就走上正确的道路。

为什么是repobee?

repobee是在kth皇家技术学院开发的,目的是帮助 教师和助教管理GitHub存储库它是教师的工具 老师,我们在日常工作中使用它。repobee的所有功能 正被我们积极利用,所以也应该对其他老师有用。 对于新手来说,RepoBee提供了一个自以为是的工作流程,很容易采用, 而更高级的用户可以利用插件系统来增强他们的 经验。我们还认识到锁定是一个问题,因此 与github和gitlab兼容,并希望扩展支持 在某个时刻咬人。但你真正想要的可能是 repobee可以做到,下面是repobee的完整功能列表 由--help选项描述(不包括插件!).

$ repobee -h
usage: repobee [-h] [-v]
                {show-config,setup,update,migrate,clone,open-issues,
                 close-issues,list-issues,assign-reviews,
                 end-reviews,check-reviews,verify-settings}
                ...

A CLI tool for administrating large amounts of git repositories on GitHub and
GitLab instances. See the full documentation at https://repobee.readthedocs.io

positional arguments:
  {setup,update,migrate,clone,open-issues,close-issues,list-issues,assign-reviews,end-reviews,check-reviews,show-config,verify-settings,config-wizard}
    setup               Setup student repos.
    update              Update existing student repos.
    migrate             Migrate repositories into the target organization.
    clone               Clone student repos.
    open-issues         Open issues in student repos.
    close-issues        Close issues in student repos.
    list-issues         List issues in student repos.
    assign-reviews      Assign students to peer review each others' repos.
    check-reviews       Check which students have opened peer review issues.
    end-reviews         Delete review allocations created by `assign-reviews`.
                        DESTRUCTIVE ACTION: read help section before using.
    show-config         Show the configuration file
    verify-settings     Verify core settings.
    config-wizard       Interactive configuration wizard to set up the config
                        file.

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Display version info

路线图

截至2018年12月17日,repobee的cli是一个稳定的版本,并坚持Semantic Versioning 2.0.0内部结构 RepoBee的不遵循此版本控制,因此使用RepoBee作为库 不推荐。

插件系统被认为处于alpha阶段,因为它已经看到了很多 比其他cli使用更少的实时操作。功能不太可能 但是当新的用例出现时,钩子可能会被修改,因为 repobee需要修改。如果您开发了一个插件,请与我们联系,以便 如果对 插件系统

即将推出的功能

还有很多东西等着RepoBee下面是一个主要的路线图 正在开发的功能

FeatureStatusETA
Full support for GitLabWork in progress (See docs)Late 2019
Video tutorialsPlanningAugust 2019
GUIPlanningLate 2019

许可证

这个软件是根据麻省理工学院的许可证授权的。见LICENSE 详细信息请归档。

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

推荐PyPI第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序