2013-03-08 56 views
1

如何以java web服务的方式实现SVN/CVS/Mercurial/Git/TFS客户端?任何指针?基本上我正在开发一个CMS,我想支持版本控制。 但是,我想支持SVC/GIT/Mercurial/CVS/TFS,而不是新的VC系统,以便它可以与现有的插件一起使用。如何实现版本控制客户端说svn为java web服务?

编辑: 为了更清楚,我正在开发一个在线VCS客户端作为CMS的一部分。哪些应该支持从SVN/GIT/TFS/CVS等流行的VCS上传。 我想,我需要为不同的VCS客户端实现不同的处理程序。但相同的数据应该可以从支持的客户端访问(SVN/GIT ...)

+0

你知道rit git通过http工作吗? – 2013-09-14 08:42:07

回答

1

好的,所以我误解了你的问题。为了达到这个目的,你必须为你想要支持的每个VCS使用一个库。对于SVN,这将是SVNKit,对于Git JGitgitblit(我不知道这两个,它们只是一个例子)。您必须学习每个API才能从每个VCS获取数据。

在您的Java应用程序(网站)中,UI应该提供一个浏览器组件来选择存储库中的文件。用户根据VCS选择合适的库将用于与存储库进行交互。

+0

好吧,谢谢:)所以我想最好是实现1 1.所以有什么事情我需要照顾,以便在后期阶段增加对更多VCS的支持不会破坏现有的实现 – Ankit 2013-03-08 10:12:03

+1

@ AnkitYadav设计一个干净的分层架构。 UI层应该完全独立于具体的VCS。它只是对核心层说:给我看目录xyz的内容,嗯顺便说一下,这是一个SVN回购,这里是证书。核心层然后使用SVN(或Git或Mercurial)存储库的实现来完成特定于VCS的内容...... – Kai 2013-03-08 10:21:53