繁体   English   中英

如何将DVCS集成到python应用程序中

[英]How to integrate DVCS in a python application

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

本质上我想增加支持

我在其他各种编辑器中都看到了支持许多DVCS(Mercurial,GIT,Bazaar等)的能力,并且它们使用户能够执行诸如commit,update等功能。

我真的很想知道我可以/如何在我的pyQt文本编辑器中集成mercurial,以便它或多或少像其他高级编辑器一样工作。

有关如何完成此操作的任何好的教程/指南

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

命令行界面

Mercurials命令行界面被认为是稳定的。 这意味着您可以预期不带扩展名的Mercurial不会更改命令的输出。 对于大多数命令使用“ -T json”也将导致易于解析的Json输出。 这种方法是健壮的,并且相当容易实现,因为您只需调用Mercurial并解析回json。 大多数标准命令(例如commitlog等)都可以使用此命令实现

hglib

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

嵌入水银

Python进程可以通过重要的正确模块直接嵌入Mercurial。 但是,Mercurial API在内部不稳定,并且会不断变化。 当您访问所有内容时,此选项为您提供最大的灵活性,包括对数据结构的低级分析,公开过时标记等隐藏功能。 缺点是:1.您必须知道该怎么做,否则您可能会破坏存储库2. API一直在更改3.您必须遵守GPL许可证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM