Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

Update Git Submodule Pointer

From TYPO3Wiki
Jump to: navigation, search

warning - Message

This page is deprecated, Git submodules are not used anymore in TYPO3 CMS since May 27, 2013.

Update Git submodule reference

This walkthrough requires basic knowledge of Git and the command line.

If you are not familiar with the command line, please refer to the overview of other Contribution Walkthrough tutorials. An Introduction to Git is available for Git beginners.

Submodules

Several external projects are included as submodules into the TYPO3 Core (dbal, workspaces, version). After a change in a submodule was merged with the official TYPO3 Git repository, the super project (TYPO3 Core) needs to be updated as well. Each submodule defines an accordant pointer to a commit SHA1 in the Core, thus a specific state of the submodule is linked in the Core.

Update the reference

warning - Message

Only update/raise submodule references if the accordant change in a submodule was really merged with the official Git repository - otherwise the submodule has no accordant reference anymore. It is advised to use a script to take care of raising the submodule references for external projects to avoid negative side-effects.

In this example the submodule reference of DBAL is updated.

  • Ensure that you have a clean local Git repository
  • Change to the accordant submodule directory (typo3/sysext/dbal in this case)
shell script:
cd typo3/sysext/dbal/
  • Pull the changes from the DBAL Git repository
shell script:
git pull
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 6), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
From git://git.typo3.org/TYPO3CMS/Extensions/dbal
   238567b..4727a2f  DBAL_1-2   -> origin/DBAL_1-2
   96b4ce9..2329d5a  master     -> origin/master
First, rewinding head to replay your work on top of it...
Fast-forwarded master to 2329d5ace7fbcbc81759b62abe052a189f810f47.
  • Change to the root directory of the local Git repository again and show the differences of the updated commit SHA1 of the submodule
shell script:
cd ../../../
git diff
diff --git a/typo3/sysext/dbal b/typo3/sysext/dbal
index 96b4ce9..2329d5a 160000
--- a/typo3/sysext/dbal
+++ b/typo3/sysext/dbal
@@ -1 +1 @@
-Subproject commit 96b4ce91b0c2645a498ed586a1c3630db4467462
+Subproject commit 2329d5ace7fbcbc81759b62abe052a189f810f47
  • Add the changes to the index (important: there is no slash at the end of the submodule)
shell script:
git add typo3/sysext/dbal
  • Commit the change
shell script:
git commit
  • Enter accordant commit message
shell script:
[TASK] Raise submodule reference

Resolves: #<ISSUE>
  • Push the changes as regular
shell script:
git push origin HEAD:refs/for/<BRANCH>