seattlerb / synchronizer

Perforce, meet GitHub.

This URL has Read+Write access

jbarnette (author)
Tue Aug 04 19:50:30 -0700 2009
commit  fa899cc3de8b8ab0dd65c5088bb4fd704edcb1d9
tree    3ccbf8fd81ae61ea3647d3301170cc2d86a439b4
parent  12f506563020656fddad8d09511ae97852f57ed0
name age message
file .gitignore Loading commit data...
file README.markdown
file Rakefile
file projects.txt
directory vendor/
README.markdown

Seattle.rb Project Synchronizer

A simple, stupid tool for keeping GitHub mirrors of Seattle.rb Perforce projects. This is only for Seattle.rb admin folks, I'm just documenting it here so I don't forget anything.

Setup

Make sure you have Python, vendor/git-p4 needs it. You'll also need to be set up in Zenspider's Perforce repo.

Tell Git about your Perforce config:

$ git config --global git-p4.user YOUR_USERNAME
$ git config --global git-p4.password YOUR_PASSWORD
$ git config --global git-p4.port p4.zenspider.com:1666
$ git config --global git-p4.client YOUR_CLIENT

Synchronizing Existing Stuff

$ rake sync

This pulls changes for everything listed in projects.txt into repositories under projects/ and pushes to GitHub. It creates new GitHub repositories when necessary.

TODO

  • The current tasks are stupid: Only the dev branch is pulled over. If you care, find a way to infer branches and pull 'em over.

  • Error handling and recovery are nonexistent.

  • GitHub stuff is done via curl, because I Just Don't Care.