 My name is Jens Lehmann. For those of you who don't know me, me and Tiger Folk next to me are the submodule maintainers in Git. And we did quite some work in the last years to make submodules more usable. I just want to show you some slides on that. So we want to tell you that we're worried about introducing the recursive submodule checkout part into Core Git. We're having a series which kind of works. We need some more work. You're invited tomorrow to help us code on that. And I would like to get some feedback from you guys who use submodules or plan to use submodules or have used them and don't because I want to know why. And I just want to give a short look out on what we are planning to do and what we are about to do and what hopefully is going to hit master in the next few months. So I think I'm going to start this talk without the slides. So what are we doing right now? We're just preparing everything like a set for the recursive checkout thing. We're reading the Git modules files not only from the work tree but we currently have a patch series in flight which does it from the blob. So we can say I want to check out that version, tell me what's in that Git modules so we can update new, newly appearing submodules before they hit your work tree. As a result of that we can do a fetch of submodules which you have initialized but aren't currently present in your work tree because it checked at some other branch. And then the update on a commit which has that submodule will work smoothly. The most important feature which I think finishes this part of the series is that we update the work tree of the submodules together with the work tree of the super project. So we need to check out a version which changes some files inside the submodule. Git will do everything for you. And to expand that we can also create submodules you have initialized but weren't present on that branch when it comes to another branch which have them. And can also delete them. So how do you want to do that? We know that this is a backwards compatibility question. We're changing behavior some people might use too. So for now we're doing it that we can enable it via command line which in the new dash dash recurs dash submodules option. Or you can have a config either per repo or per computer or also per submodule where you can say okay I want this submodule or our submodules automatically update so that their work tree follows what the super project records. Now it should show here my github address. As I said if you're interested you know my face. Just come to me afterwards and I'll have you show you the slides on my computer. And yeah I think that concludes it. And we also want to collect stuff from you like what do you wish submodules should behave like and just to check if our plan works out and everything is nice afterwards. It's not yet finished but yeah it's always good to know if there's anything we missed or something.