Update: we have added a FAQ How do I use and deploy Matomo (Piwik) from Git repository?
Update: we have now also migrated our tickets from Trac to Github issues! read more here.
We have migrated the code base from SVN to Git
Yes, Matomo has moved to GitHub! This is a significant technology move for Matomo and the team is thrilled by this change. Being on GitHub, we hope new developers and companies who believe in our mission to « Liberate Web Analytics » will join us and submit code, ideas and pull requests. For inspiration and amazing ideas, see Matomo 2.0.
Click on the screenshot and « Star » Matomo if you are a GitHub user. Below we describe why Git is so much better than SVN.
What is Git?
Git is a free distributed revision control system. As explained on Wikipedia, Git was initially designed and developed by Linus Torvalds for Linux kernel development.
Since then, Git has been embraced by a lot of big projects like Ruby on Rails; and recently more and more open source projects have also made the switch (like PHPUnit which we use for our QA process).
Apart from being extremely fast, it is also a brand new way of thinking and coding. Being distributed means that when you get a copy of a project (a « clone » in Git speak), you retrieve locally a full-fledged repository with complete history. It allows you to easily work offline for instance.
The other big advantage of Git for a project like Matomo is the ease of accepting contribution from our users. Instead of submitting patches (which you can also do), you can « fork » the project, do some work and ask a member of the core team to « pull » your work. It dramatically lowers the barrier of entry for contributing to the Matomo core. You can also easily maintain your own version of Matomo, and merge the changes easily from the master branch (easy branching and merging is yet another big advantage of Git compared to Subversion).
Note: « What is Git? » section of this post is copied and modified from the Symfony2 Git migration blog post.
Looking ahead…
Travis CI builds for Matomo will soon be working, and our 3500+ tests will run automatically on a network of distributed continuous integration workers. The tests will be executed after each commit and for all pull requests automatically.
Our Trac is still used to manage feature requests and bug reports, and it is connected to GitHub: commits will automatically create a comment in the relevant ticket, and Trac links to changesets diffs on GitHub.
Contributing to Matomo with Git
We wrote a guide to explain the best way to contribute to Matomo using Git and Github.
Follow us on GitHub: https://github.com/piwik/piwik