Last updated 21 April 2015. Created on 6 January 2009.
Edited by Chi, Haza, gary4gar, jhodgdon. Log in to edit this page.

To view Official repository, Please visit home page of the project of interest, and click on "version control", or to use the "repository viewer" link on the project home page.

In Addition, some unofficial mirrors have been set up for users of version control systems other than GIT. While it is important to contribute your code back to Drupal's official repository, having a mirror available in your preferred version control system can be useful at times. With that in mind, below is a list of unofficial mirrors. Depending on the mirror, not all history or modules may be included. For more details, see the "about" link associated with each.


Maintainer: Dembach und Co.
About: Subversible

Maintainer: Advantage Labs
About: Advantage Labs SVN Repository Structure

Acquia also maintains a Subversion repository for the Acquia Drupal distribution.


Maintainer: Four Kitchens Studios
Repository: bzr://
About: Using Bazaar to collaborate with other patch developers and Using Bazaar to work on Drupal core patches

Maintainer: Launchpad
Repository: lp:drupal
About: Bazaar (a non-CVS version control system)

Looking for support? Visit the forums, or join #drupal-support in IRC.


anarcat’s picture

Since Mikkel's git repository is the first that has been created and Damien's repository is currently unreachable, I would strongly recommend we all stick only to Mikkel's repository for now. That doesn't mean we can't have our own repositories, but they should be clones of Mikkel's (unless that repository shows some deficiency I'm not yet aware of, and that should be reported).

Regardless of the actual one chosen, we should really agree on a single git repository to sync with. This will ensure that every CVS commit has a single git commit associated with it in the "global git history".

I would hate to think what would happen if I would try to merge with another git branch that has been created from another git-cvsimport...

ksenzee’s picture

... but no need to go hatin' on Damien's repo. :) I had the opposite experience this spring sometime - Mikkel's repo hadn't updated itself for three weeks, and Damien's was humming away nicely. Either way, I agree it would be nice if everyone could merge their git efforts.

~ Katherine

pwolanin’s picture

Mikl's github repo is actually pulling from Damien's - so the commit IDs match.

Work: BioRAFT

sdboyer’s picture

Only circumstance under which the commit SHA1s won't match is if git-cvsimport (and the underlying cvsps call) is invoked with different parameters. Given the same inputs, it reliably outputs the same tree history + ids (unlike Tailor, which doesn't seem to manage that, based on my experience thus far).

sdboyer’s picture

It's important to note that cvsps (the underlying script that git-cvsimport utilizes, which is the method ALL of the above repos/systems rely on) does not perform perfect conversions from CVS. Certain types of CVS commit operations do confuse cvsps, and in some contributed modules (CCK is the big one that sticks in my memory) as well as core, it generates #CVSPS_NO_BRANCH branches. So, while the above methods work for >95% of cases, it's not the ideal, and because cvsps is a dead project, it never will be.

The better long-term, least-lossy conversion solution for git (and, actually, for bzr and hg as well), is cvs2svn, which has output modes for all three vcses (hg is in dev, and should be out with 2.4). It is capable of outputting to Shawn Pearce's git-fast-import format, which is becoming the de facto standard for advanced vcs interoperation.

wickwood’s picture

I'm very grateful for finding the public Git repos for Drupal Core and Module contributions. Does anyone no if there are other Public Git Repos for the other Drupal Contribution CVS Projects like themes, profiles, translations, etc. I'm especially looking for a git repo with themes?

Thanks in advance!


Thank You Drupal Community for all the help you continue to give me, especially when I need it most!

ZoFreX’s picture

I tried checking out the "DRUPAL-6" head from the Mercurial mirror above, and upon inspecting CHANGELOG.TXT found it started with "Drupal 7.0, xxxx-xx-xx (development version)". I did this with TortoiseHG and verified it with the web interface, the branches appear to be wrong. Doing the same with the Git repository gave the expected result of "Drupal 6.16-dev, xxxx-xx-xx (development release)".

mikey_p’s picture

The mercurial mirror had some issues with certain parts of the repo, getting those branches right looked to be a pain, and now that Drupal is committed to git, I've no interest in maintaining it anymore, so it is no longer available.