Today we accomplished one of the major goals towards Zend Framework 3: splitting the various components into their own repositories. This proved to be a huge challenge, due to the amount of history in our repository (the git repository has history going back to 2009, around the time ZF 1.8 was released!), and the goals we had for what component repositories should look like. This is the story of how we made it happen.
I read a post recently by Sean Coates about deploy on push. The concept is nothing new: you set up a hook that listens for commits on specific branches or tags, and it then deploys your site from that revision.
Except I'd not done it myself. This is how I got there.
I've been playing around with Git in the past couple months, and have been really enjoying it. Paired with subversion, I get the best of all worlds — distributed source control when I want it (working on new features or trying out performance tuning), and non-distributed source control for my public commits.
Github suggests that
when working with remote repositories, you turn on the
autocrlf option, which
ensures that changes in line endings do not get accounted for when pushing to
and pulling from the remote repo. However, when working with
actually causes issues. After turning this option on, I started getting the
error "Delta source ended unexpectedly" from
git-svn. After a bunch of aimless
tinkering, I finally asked myself the questions, "When did this start
happening?" and, "Have I changed anything with Git lately?" Once I'd backed out
the config change, all started working again.
In summary: don't use
git config --global core.autocrlf true when using