Page MenuHomePhabricator

Phabricator Integration with other VCs
OpenPublic

Asked by glz on Aug 29 2016, 9:31 PM.

Details

Is it possible to integrate Phabricator with VCs other than GIT, Mercurial, and those officially supported?

We have some in-house developed version control system and want to plug it into Phabricator.
Any documentation/API or link to previous discussion on this is appreciated!!!

Answers

avivey
Updated 3,018 Days Ago

It's theoretically possible, but very hard.

Basically, find all classes that have "Git" or "Subversion" in their name, and all methods (Some places don't have separate classes, but a single class with 3 methods), and implement a similar class for your VCS.

None of the classes you'll be extending are "public api", and they might change without notice, breaking all your work. This kind of task isn't supported, (see T5447, only more so). so you'll need to be willing to invest some resources into learning the internals of Phabricator.

Without knowing anything about your in-house VCS, I can suggest trying to invest in bridging it to git or svn - that way you could use vanilla Phabricator (And other tools), and it will let your users use git too, which will probably make them happier. I suspect it will end up being simpler over-all, because of a smaller interface.
If you implement read-only git-compatible server, users and tools can "clone" that like a regular git repository.

New Answer