id summary reporter owner description type status priority milestone component version severity resolution keywords cc branch changelog apichanges internalchanges 9235 Maintain git mirror (on GitHub?) jake@… Christian Boos "While Trac is already a very feature-complete system for my use and its plugin support is very robust, I find myself wanting to modify core features. If the subversion repository was mirrored on a socially orientated DVCS site (such as the great !GitHub) it would allow users like myself to fork and maintain our own flavors of Trac, porting in features from the official repository as they come. There are an increasing amount of projects which are mirroring their internally hosted git and subversion repositories on !GitHub (see http://github.com/apache/ fpr an example). Mirroring subversion repositories with git is an extremely easy process and could be fully automated after a small setup. 1. Run {{{git svn clone http://svn.edgewall.com/repos/trac/}}} 2. Run {{{git gc}}} to shrink the space of the git repo by A LOT. 3. Copy the {{{.git}}} folder from the newly created {{{Trac}}} folder to {{{Trac.git}}} in the parent directory and then delete the {{{Trac}}} folder. You now have a bare git mirror of the svn repository. 4. Create an account on !GitHub, set up an SSH key, and add a new repo. 5. Run {{{git remote add origin git@github.com:Edgewall/Trac.git}}} (assuming Edgewall is the account name and Trac is the repo name) in the {{{Trac.git}}} directory. 6. Set up a cron job to run the following script every 10 or 15 minutes: {{{ #!/bin/bash export GIT_DIR=/path/to/Trac.git git svn fetch -q &>> /var/log/git_mirror.log git push --all origin }}} 7. Have a cup of tea, you're done! I strongly believe that a lot of the people who like to hack on Trac would benefit from this greatly." enhancement closed high not applicable project critical fixed git hg mercurial mirror leho@… daltonmatos@… Jonas Borgström