[TYPO3-v4] Migrating TYPO3 core to git.typo3.org commencing soon

Ernesto Baschny ernesto.baschny at typo3.org
Tue Feb 8 19:11:36 CET 2011


Hi dear developers and TYPO3 contributors,

if you follow our development and have been to the latest T3DD, you
might have noticed that we are for a long time already planning on
migrating our TYPO3 core repository to GIT.

---------------------------------------------------------------------
To make it short
---------------------------------------------------------------------

We will be migrating the TYPO3 core repository to GIT during the Code
Sprint 2011 in Berlin (on some day between 28th February and 4th of March).

---------------------------------------------------------------------
What does it mean?
---------------------------------------------------------------------

1) The core list as we know it will no longer be used for voting on
patches (it might even be deactivated...). We will be using the Gerrit
reviewing system (http://review.typo3.org) which will speed up our
development and reviewing pace.

2) We will have the external system extensions (dbal, extbase, fluid,
linkvalidator, t3editor, workspaces, version) also migrated to GIT as
separate projects at the same time. Those will be integrated into the
core as Submodules, a feature from GIT similar to svn:external. This
will ease the process of packaging a release.

3) We will no longer manually maintain a "ChangeLog" file. This will be
generated automatically before the releases, which eases up the process
of merging bug fixes from one branch onto the other.

4) Third party extensions hosting on forge using SVN are not affected at
first by this. There are no current plans on making git.typo3.org
available to the "masses" of extension development on forge, but there
are wishes to make it happen (at least on a "can have" basis, where the
developer can opt to use git or svn when setting up their projects). But
this is out of our scope *currently*.

---------------------------------------------------------------------
Current migration plan
---------------------------------------------------------------------

We have a git task force [1], which is working on getting that done and
trying to consider all implications. We are:

- Karsten Dambekalns
- Michael Stucki
- Peter Niederlag
- Xavier Perseguers
- Ernesto Baschny

We already met twice to discuss the route. And today we decided the
further steps:

1) ASAP (during the next week) we will start with Stucki, Karsten and
Peter migrating our current SVN to git.typo3.org and integrating it with
the Gerrit System in an environment which will be exactly like the "Live
System" afterwards.

2) The "Testing" can then begin, with patches being pushed to Gerrit,
test-reviews being done, testing the whole work flow (e.g. also
backporting fixes from trunk to 4-5, 4-4, etc)

3) Present the results and make a Q&A round during our Core Sprint in
Berlin [2]. After having all details cleared and walking through the
process:

4) Refresh the projects on git.typo3.org with the current happenings
from svn.typo3.org and have git / gerrit go LIVE for v4!

5) Make svn.typo3.org "read-only" and have it there for historical
reasons...

[1] http://forge.typo3.org/projects/team-git
[2] http://wiki.typo3.org/Code_Sprint_Berlin_2011

---------------------------------------------------------------------
Documentation
---------------------------------------------------------------------

Our main current focus is getting the migration done and the work flow
established. There is plenty of documentation on git already available
(e.g. http://progit.org/book/) and we will constrain ourselves in
documenting our specific work flow.

At least for the Live-Going we will have to update the documentation on
typo3.org regarding "Contributing patches to the core" because of the
new work flow.

We will update the current documentation available on Forge on using Git
/ Gerrit (already in use for FLOW3 / Phoenix), adapting it to our new
TYPO3v4 work flow.

---------------------------------------------------------------------
Issues / caveats
---------------------------------------------------------------------

We are trying hard to cover all potential pitfalls, here are some (but
not all):

- We want to keep our current "SVN rev-ids" in the commit messages after
migrating, because they can be useful to find historical fixes (e.g.
when reading an issue in the bug tracker referring to "commited to rev.
xyz"). For newer post-GIT commits they are not relevant anymore (because
every commit will have a SHA-hash)

- We will migrate from svn.typo3.org and *not* from the currently
synchronized repository (kindly provided by Peter) on github.org [3].
This will lead to new SHA hashes for our history. This is not
definitively decided and Peter feels that the amount of work to do
either one of them is the same.

- When migrating, we will include all current SVN branches and tags, so
that they are available for research under GIT. While doing that we
might rename some wrongly marked branches (like "TYPO3_3-6-0") or remove
really obsolete and never used branches (like "indexed_search_refactoring").

- During the migration, we will need to remove the Submodules from our
core, so that they can after the migration point to a remote repository.
E.g. currently typo3/sysext/dbal/ is part of the core and is merged from
time to time (before releases) from the external repository. We will
"git rm typo3/sysext/dbal" and include a reference to the external
Submodule instead, so that keeping up to date with "current trunk and
all current trunk of all external projects" will turn out to be much
easier in future.


Cheers,
Ernesto

[1] http://forge.typo3.org/projects/team-git
[2] http://wiki.typo3.org/Code_Sprint_Berlin_2011
[3] https://github.com/typo3/typo3v4core
-- 
Ernesto Baschny
Core Developer V4 Team
Release Manager TYPO3 4.5

TYPO3 .... inspiring people to share!
Get involved: typo3.org


More information about the TYPO3-project-v4 mailing list