Dear Easyshop list,
A matter has come up in private discussion which it is thought ought
to be aired here. Easyshop currently has two, separate source repos in
which the code base has slightly diverged. One is the collective
version at http://dev.plone.org/collective/browser/easyshop
other is the Google code version at http://code.google.com/p/easyshop-for-plone/
There is also the perceived problem of the currently long average lead
time for source commit privileges to be granted by the project admins
which means that some feel that the only recourse is to post patches
to the bug tracker as enhancements, and given the uncertain wait
before these get applied to SVN HEAD it causes problems for some.
I have made the proposal that I merge the two Easyshop source bases
into a github repo and to set up SVN mirroring from github into
. The Google code SVN
would probably become closed as it would be superfluous to
requirements, though if the list wanted it SVN mirroring could be set
up for it too. The SVN mirrors would be read only - mirroring tends to
have issues otherwise. github would take over issue and bug management
as their system integrates GIT commits with bug tracking. The Google
Code project would probably for all intents and purposes no longer be
used, and its admins would need to mark it as closed.
GIT has the major advantage over SVN of letting each developer run
their own repo, so each gets their own GIT HEAD. One then syncs GIT
repos on an adhoc basis through one of many different channels (e.g.
email), and the syncing is *much* better implemented than on SVN. This
ought to solve a lot of people's apparent concerns with the present
situation as if you want to get on with changes you can without prior
approval, and only if you want other people's bug fixes from the
master repo do you need to exchange changes.
Note now that GIT strongly rewards you creating a new branch for any
significant change. If you're not familiar with GIT, I'll say again:
before any significant change, create a new branch. And oh - GIT is
much more programmer error tolerant than SVN, so you can happily edit
past commits if you make mistakes like forgetting to add files.
For those wondering about the state of GIT on Windows, I can tell you
that I made the move last March for all my code projects. It was not a
smooth ride, and there are still multiple bugs especially with CR/LF
handling some of which are serious but none which cause repo
corruption. Most of the bugs are within SSH encrypted GIT push which
is only 25% reliable, but you just keep trying to push until it works.
The benefits of GIT over SVN in terms of productivity have been
amazing however, not least that I no longer need to manually sync my
local master repo with internet repos which on SVN was so painful I
used to only run it every few days due to the work involved. With GIT
it takes like ten seconds.
Thoughts, concerns and opinions are most welcome!