【问题标题】:How to integrate DVCS in a python application如何在 python 应用程序中集成 DVCS
【发布时间】:2016-10-19 17:18:48
【问题描述】:

您好,我有一个简单的 pyQt 文本编辑器,

基本上我想添加 mercurial 支持

我在其他各种编辑器中看到了支持许多 DVCS(Mercurial、GIT、Bazaar 等)的能力,它们使用户能够执行提交、更新等功能

我真的很想知道我可以在我的 pyQt 文本编辑器中集成什么/如何集成 mercurial,以便它的行为或多或少像其他花哨的编辑器。

关于如何完成这项工作的任何好的教程/指南

【问题讨论】:

    标签: python windows mercurial pyqt4 dvcs


    【解决方案1】:

    没有关于这方面的教程,但通常有三种方法:

    命令行界面

    Mercurials 命令行界面被认为是稳定的。这意味着您可以期望没有扩展的 Mercurial 不会更改命令的输出。对大多数命令使用“-T json”也会产生易于解析的 Json 输出。这种方法很健壮,而且很容易实现,因为您只需要调用 Mercurial 并解析 json。大多数标准命令,如commitlog 等都应该可以使用它来实现

    hglib

    Mercurial 正在提供 hglib。 CPython 中提供的库,它允许您通过本地协议与 Mercurial 交互。 Mercurial 将以服务器模式启动,您可以使用库进行交互。这种方法也非常稳定,提供了更好的抽象,但依赖于可用的命令服务器,并暗示库中潜在的 API 更改。请注意,在链接库时,您还必须考虑到库的许可。

    嵌入 Mercurial

    Python 进程可以通过重要的正确模块直接嵌入 Mercurial。然而,Mercurial API 内部不稳定,会不断变化。此选项为您提供最大的灵活性,因为您可以访问所有内容,包括数据结构的低级解析,公开隐藏功能(如过时标记)。缺点是:1. 您必须知道该怎么做,否则可能会损坏存储库 2. api 一直在变化 3. 您受 GPL 许可的约束。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      • 2014-06-22
      • 2011-11-29
      • 2020-03-06
      相关资源
      最近更新 更多