Feature #25896

Integrate possibility to automatically merge external subprojects

Added by Oliver Hader over 8 years ago. Updated over 8 years ago.

Must have
Target version:
Start date:
Due date:
% Done:



We currently have these subprojects as system extension in the Core:
  • Workspaces
  • Version
  • Extbase
  • Fluid
  • DBAL

There shall be a way to automatically merge the result of the development to the accordant branches in the TYPO3 Core Git respository.

The goals are:
  • keep the history of changes of external projects
  • avoid reviewing changes again on review.typo3.org

However it has to be ensured that external projects are stable at any time and the Core must trust and rely on the review process of those external projects. This currently prevents us from publishing accordant new releases of v4 since the bugfixes won't be integrated in the Core.

Related issues

Related to TYPO3 Core - Task #26581: Use external Core Projects workspaces and version as Git submodules Closed 2011-05-03
Duplicates git.typo3.org - Feature #12878: Port System-Extensions Closed 2011-02-08


#1 Updated by Xavier Perseguers over 8 years ago

For me the merge as it was done with subversion was just a matter of issuing the valid command, at least for DBAL, HEAD of the corresponding branch is always considered stable! This is why we have the review process.

And if we know a new version of TYPO3 will be prepared, we have time to ensure this is really true and if for any reason this is not the case, then it's our responsibility to make it stable again.

I don't see any stopper here.

#2 Updated by Karsten Dambekalns over 8 years ago

If whatever method of "merging" (subtree merge or using submodules) is known, it can be scripted (using Phing would be the most portable way). The it can be used by release managers and extension maintainers to update code/pointers when it makes sense. The stability part can only be solved if enough test coverage can be maintained. Otherwise it must be based on trust (and hope)... ;)

Automating the merging is easy as soon as it's scripted, it can then be turned into a batch job in Jenkins that runs timed or after commit's or whatever makes sense. E.g. we have a job that raises submodule pointers for the FLOW3 distribution(s) on an hourly basis if all tests pass.

#3 Updated by Oliver Hader over 8 years ago

Hey Karsten, thanks for your feedback. Can you please point me to some source on how this is done for FLOW3? I played around with the subtree merge but did not find a way to keep the history. Thanks!

#4 Updated by Peter Niederlag over 8 years ago

Olli added workspaces, version and dbal as submodules in branches 4.2 to 4.5 and master:

#5 Updated by Peter Niederlag over 8 years ago

  • Status changed from New to Closed

I'll close this one as some projects have been migrated to submodules already and others are "in the works", see related and duplicated tickets

Also available in: Atom PDF