Why fork the whole ejabberd tree ?
I had the question on PlanetErlang.
Why have you put whole ejabberd source to the repository? You could just put your modules to avoid constant merging from upstream.
The short answer
It’s easy and fun.
The longer answer
The early version of the code was actually in a separate private SVN repository. Part of my install procedure was copying the beams into the ejabberd
ebin folder. But each time
mod_pubsub modules were updated I had to launch FileMerge and merge things. And those modules are not slim.
My own ejabberd repository is fork from his.
And having my own tree up-to-date is only a matter of one (1) command :
“github pull bjc master“
sudo gem install github for installing the github gem.
Merges are done automatically. Of course the occasional conflict may arise, but whatever the process, I cannot avoid it.
Pushing to my github repository is also one command :
“git push origin master“
And if I want to send a patch right up to Process One ?
Say for pubsub …
“git diff bjc/master – src/mod_pubsub > pubsub.patch“
Contributing is easy
Fork my project, hack, push, pull request.
Can it be any simpler ? (This question is not rethorical)