2013-02-21 43 views
1

我希望能夠在bzr中設置/獲取與工作樹相關的一些自定義屬性。 當我開始在特定的工作樹中構建源代碼時,可以使用這些屬性。例如,我們的軟件使用PostgreSQL數據庫實例,並且每個構建(在工作樹/分支中)需要能夠通過名稱/主機/端口'知道'它與哪個數據庫實例相關:DevDB,StableDB,StableRev010DB等。 ..Bazaar:添加WorkingTree特定元數據

我不想把任何這些屬性放在bzr控制下的文件中。我已經創建了一個自定義的「make_branch.py​​」腳本,它能夠從源URL創建一個工作樹/分支,並且希望添加一些選項以便在創建新分支時能夠設置這些自定義屬性腳本。

有沒有人有建議? Bzrlib文檔非常全面,但似乎無法確定如何通過當前的API實現這一點。

回答

1

爲什麼不將元數據存儲在文件中並使用bzr ignore或編輯.bzrignore來標記忽略這些文件?如果這不適合你,請解釋原因。

按存儲某種未版本化的屬性,我見過到最接近的東西是bzr-svn文檔中: http://doc.bazaar.canonical.com/migration/en/foreign/bzr-on-svn-projects.html#versioned-properties

顛覆了版本化屬性的概念,是不是目前存在的集市。這意味着bzr-svn不能設置任何版本化的屬性,例如:svn:keywords,svn:eol-style和svn:mime-type。

但是,bzr-svn將保留已存在於文件中的版本化屬性。

也就是說,在Bazaar中沒有版本化的屬性,但這很好,因爲你不想對它們進行版本管理。該插件保留了很多Subversion元數據,所以確實必須有API方法。但是,即使這些元數據沒有版本控制,它們仍然存儲在存儲庫中,這又不是你想要的。

我還沒有閱讀所有的API文檔,但做了用戶指南,並且肯定沒有提到您正在尋找的功能。也就是說,Bazaar 非常可擴展的,所以也許有一種使用API​​的方式。

我建議在irc.freenode.net上詢問IRC頻道#bzr。您也可以嘗試在IRC日誌中搜索http://irclogs.ubuntu.com

+0

我知道該功能不存在,這就是爲什麼我在我的問題中提到bzrlib。 bzrlib API非常大,通過篩選非常艱鉅。但正如你所提到的,我可以使用'未版本控制的'文件,儘管我認爲bzr是可擴展的,可以實現我首先考慮的解決方案。 – user2095877 2013-02-21 23:49:31

+0

O我看到你願意再往下走兔子洞。好的,我用更多的細節更新了答案。如果你想擴展Bazaar,你必須實現一個插件,但文檔並不是很好。我寫了一個更好的指南。我無法公開發布,但如果您有興趣,我可以私下與您分享。 – janos 2013-02-22 07:21:37

+0

真的很想看到你的插件文檔。謝謝! – user2095877 2013-02-22 16:18:39