How to use Tiki with “Git”

Tiki use SVN for revision control. There has been some discussion in the community about migrating to a Distributed Version Control System (DVCS) but it is unlikely that anything will change in the near future.

I’m writing this post to briefly share my experience using git-svn locally for Tiki development. This tool allow you to synchronize a Git repository with a SVN repository. Follow the steps below to create a local git repository based on Tiki trunk.

1. Create a new Git repository from Tiki trunk SVN repository

git svn clone https://svn.code.sf.net/p/tikiwiki/code/trunk

2. Checkout external repositories

Download git_svn_externals.pl script (alternatively you can use git_svn_clone_externals) and then place it in the root directory of your Tiki. Run the script. It will download all Tiki’s svn externals and add them to .git/info/exclude.

3. Known issues

  1. It is not possible to set SVN properties using git-svn (http://stackoverflow.com/questions/1271449/how-to-set-subversion-properties-with-git-svn)
  2. You have to remember to manually call git_svn_externals.pl every once in a while to update the externals repositories.

That is it. If you are not familiar with Git take a look at Git Cheat Sheet and My git svn workflow for more information.