How we use git and what problems we have

Re: How we use git and what problems we have

by Andreas Grabs -
Number of replies: 0
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Translators

Hi Paul,

thank you for replying. I know these commands and did already. But submodules are not possible for us in our situation. There are just some simple reasons.

  1. We can not have branches with and without some plugins in the same repository.
  2. We can not provide a complete repository including all plugins. What we want is a clonable repository what includes all needed plugins. It must be possible to get all with just a clone.

But I agree that if the plugins are in the moodle directory structure it is not so comfortable for the plugin developer to commit changes only to the plugin repository.

In the meantime I played a bit with the new command "git subtree" (since 1.7.11 available). This command seems to support just all what we need.

  • Integrating single plugins into the repository
  • keeping the histrory together
  • You can push the complete repository including the plugins
  • You can push changes inside the plugin to the plugin repository
  • You can splitt all commit of the plugin into a separate branch

Here just the two main parts (integrating and pushing) as example:

Integrating:
git subtree add --prefix mod/testplugin ssh://my_repository/testplugin.git master
some changes (just only inside the plugin):
git add mod/testplugin
git commit -m "changed somethings on testplugin"
push the changes only to the plugin repository:
git subtree push --prefix=mod/testplugin ssh://my_repository/testplugin.git master

As you can see it is really simple smile.

Best regards
Andreas