Zend Framework 1 is Migrating to Git!
Since its inception, Zend Framework 1 has used Subversion for versioning. However, as we approach its end-of-life (which will occur 12-18 months from the time this post is written), and as our experience with ZF2 processes becomes more familiar, we -- the Zend team and the Community Review team -- feel that we can better support ZF1 via GitHub.
As such, we will be migrating the ZF1 Subversion repository to GitHub this week. Please read on for details!
What will happen
First: you will still have access to Subversion!
For versions prior to 1.12, we will continue hosting our current Subversion
repository, and if you are using
svn:externals with a tag or
branch on that repository, that will continue to work. However, the
repository will be read-only going forward.
The release-1.12 branch, however, will become the "master" branch on the GitHub repository. All future updates, including security fixes, will be made to this branch and this branch only; future tags will be made against GitHub. However, for those of you using Subversion, all is not lost: Github supports Subversion! (That's 2 separate links!)
If you are pointing your
svn:externals at either trunk or the
release-1.12 branch, you will need to update your
to point at the new repository location. To do this, you will execute the
[user@server]$ svn propedit svn:externals path/in/working-dir/to/zf1
This will spawn an editor. In that editor, change the URL for ZF1:
- "http://framework.zend.com/svn/framework/standard/trunk" becomes "https://github.com/zendframework/zf1/trunk"
- "http://framework.zend.com/svn/framework/standard/branches/release-1.12" becomes "https://github.com/zendframework/zf1/trunk"
.*" become "https://github.com/zendframework/zf1/tags/release-1.12
Once you have made this change, save and exit. Then run:
[user@server]$ svn commit -m "update externals"
svn:externals - Dojo
Currently, the ZF1 repository defines a single
property, which adds Dojo Toolkit.
Currently, this points to version 1.5 of Dojo, as that is the last version
with which ZF1 maintained compatibility. We have decided with the move to
GitHub to remove the
svn:externals entry, and not add
a git submodule; however, we will continue packaging Dojo 1.5 in
any ZF1 releases.
If you relied on the
svn:externals definition in ZF1 in order
to obtain Dojo, you will need to add it to your repository yourself. If you
need to do so, point the definition at "http://svn.dojotoolkit.org/src/branches/1.5".
The "extras" repository, which contains the jQuery integration, Firebird DB
adapter, and console process forking tools, will also be migrated to GitHub,
following the same pattern as for the ZF1 repo (i.e., release-1.12 branch
will become the master branch on the GitHub repository, and the old
subversion repository will be marked read-only). You will need to update
svn:externals definitions just as you would for ZF1, with
the following mappings:
- "http://framework.zend.com/svn/framework/extras/trunk" becomes "https://github.com/zendframework/zf1-extras/trunk"
- "http://framework.zend.com/svn/framework/extras/branches/release-1.12" becomes "https://github.com/zendframework/zf1-extras/trunk"
Since Zend Framework 1 is in maintenance mode at this time, we are only addressing critical or security issues. As such, we have decided to port only open issues created since 1.12.0 was released (at the time of this writing, around 66 issues) to GitHub issues.
The JIRA instance will be marked read-only. We will likely disable it in the near future; if we do so, we will likely provide static pages of all issues for later reference. (This item is still to be determined.)
Information on the new issue tracker location will be placed on the JIRA landing page, with links to each of the ZF1, ZF1 Extras, and ZF2 repositories.
Once the cutover occurs, only the Zend team and the Community Review team will have commit rights on the GitHub repository. This means that patches will need to be submitted as Pull Requests. Once submitted, members of these teams, as well as the general community, can comment and provide feedback; once consensus is reached that the patch is ready, it will be merged to the repository.
If you are unfamiliar with Git and/or GitHub, we recommend the following resources:
- GitHub help site, which details everything from setting up Git to creating and forking repositories, to collaborating.
- git-scm site, which provides a comprehensive, online book detailing basics to advanced features of Git.
- ZF2 Git Guide, which details the typical contributor workflow; simply substitute "zf1" for "zf2" in that guide. (We will likely add this to ZF1 soon as well.)
One note: at this point, we will only accept bug and security fixes; new features are not currently in scope for Zend Framework 1.
Important! You will still need to have a Contributors License Agreement (CLA)
on file for us to accept your contributions. For this reason, we recommend setting your
user.email git configuration setting to the same email used
for your CLA; with this information, we can easily look up your CLA status, which will
expedite our ability to merge your pull requests/patches. To do this, simply execute the
following from within your ZF1 checkout:
[user@server]$ git config user.email "email@example.com"
Do this prior to making any commits, to ensure that the commits in your patch are attributed to that email.
The plan at this time is to mark the ZF1 subversion repository and issue tracker read-only starting Friday, 5 April 2013.
The repository and issues migration is the first step in a series of planned migrations. We also plan to eventually migrate our wiki to GitHub; this will allow us to offload functionality from the main ZF website, and also consolidate all development-related functionality (other than the mailing list) in a central location.