簡體   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