Tom,
> Is it possible to set up a repository on github which is
> automatically synchronised with svn?
Here's a thought:
[1] Make a canonical *internal* git repository on
some machine over which you have total control.
Given that the total number of committers is small,
this box could be done on a very modest box.
For the sake of argument, let's call this
machine 'internal'.
[2] Create a public repository on github.
This will be all the non-committers ever see.
[3] Create a post commit hook on 'internal' that
does a push to github. Because 'internal'
is the only machine that updates github,
you're guaranteed that this will always
be a trivial fast-forward operation.
[4] Make the post-submit hook on 'internal' also
send the submit over to the public hosted svn
server, for the sake of the svn folks out there.
Later, rinse, repeat for Bzr, and whatever else.
When folks in the community wish to get the latest changes,
they just get stuff from github, or the bzr or svn host.
They need not know/care about the existence of 'internal'.
The core group of committers never manually commit
to the git repository on github; they just commit
to 'internal' (and 'internal' handles the sync to github).
Sometimes, they might pull from the public git repositories
of the community as well, merge/rebase those changes
(and then do a commit to 'internal', which again causes
the multi-way autosync).
This eliminates all polling and even provides you
with an opportunity to make an airlock between
what the team submits and what the world sees.
For example, you could have a CI server on 'internal'
that runs tests on the commits and asynchronously
updates a sister repository (or branch) for Gradle
that includes a summary of the test results.
Here's some ASCII art to illustrate the notion:
.--------->.--------->.--------->.
| | | |
| v v v
[internal] [github] [svn] [bzr]
^ ^ | | | | | |
| | V V v v v v
committers community community community
^ ^ | | |
| | | | |
| | v v v
| | [public community git repositories]
| | | |
| | V |
| `-------------' V
`-----------------------------'
What do you think?
Cheers,
-Jon
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email