2009-12-28 78 views
8

好奇的是,如果有Git和Subversion for Java的API包裝?Java是否有圍繞Subversion和Git的API包裝?

我希望能夠從Subversion和Git倉庫中提取變更集和源代碼(以及差異)。

這可能嗎?任何預先構建的API?

+2

您問Google哪些關鍵字? – 2009-12-29 00:32:03

回答

6

快速谷歌搜索發現了一些成績,但我不能說我用他們,讓他們的用處不明

  • JavaGit:「JavaGit是一個Java API,它提供給git倉庫訪問我們的目標是爲圖書館提供易於使用的API,這對於新手入門的開發人員以及經驗豐富的git用戶開發者來說是直觀的。「根據他們的常見問題,它只是使用場景
  • 後面的命令行的git命令
  • JGit:SVN的Java實現:在Java中
  • svnkit混帳的實現。
+1

JavaGit開發人員自己使用svn來承載這個項目有些令人懷疑。 – shabunc 2012-01-12 12:32:19

+0

我可以擔保svnkit。作爲部署過程的一部分,我使用它連接到我們的svn回購站。我唯一要評論的是它使用起來有點奇怪。但一旦你發現它期待它的效果。 – 2012-06-13 21:33:41

3

jGit是git在Java中的一個實現。

SvnClientAdapter將使用各種不同的方法連接到SVN。

+0

我需要鉤入GIT,而不是在java中重新實現GIT?或者是一個API包裝? – mrblah 2009-12-28 23:11:19

1

JGit是Git的一個實現,所以如果你只是尋找一個路由到本地git實現的API,它將不會成功。

JavaGit不起作用。我在msysgit 1.8.1的win64下試過它,並且,它只是不起作用。可能它在另一個操作系統和舊版本的git上進行了測試。一個可以繼續併爲其目的修復JavaGit - 代碼遠沒有複雜。雖然源代碼的成熟度並不令人印象深刻 - 有未實現的存根,異常吞嚥等等。我認爲這是一個未完成的項目,由其他有意向的人來完成。

也許另一種選擇是從http://plugins.jetbrains.com/plugin/3033獲取git命令類,並將其從intellij基礎結構中解耦。這是我會追求的。

它始終是一個選擇,如果你的usecases很簡單,實現自己的API,或許重用一個命令行抽象庫,如http://commons.apache.org/proper/commons-cli/

希望這有助於。