I love Git, I am though a bit misty about what to do with Addons in the light thereof: I would like to somehow include active Addons into an app’s repository, but I don’t know how to accomplish this in a clean way.
Especially when a project is done, or when a version of the project is released to a client (I use git tags for that), I would like to make a complete commit which includes the actual versions of the actual addons in use by the project. Not just linked from my .h and .xcodeproj files, but actually include them completely.
My reasons are mostly based on a desire for complete back-ups and mobility:
- Sometimes I have to tweak addons a bit for my use, for instance for use in project A. And then sometimes I forget I did this, download a newer version of the addon to use in Project B and overwrite my own tweaks. Had I had a copy of the tweaked addon in my repo of project A, this would not have been a problem at all.
-When I export or branch out to another computer I would like the package to be as complete as possible. No missing addons means not having to google hard to find addons (I’m looking at you Google code) and little chance of failing builds.
My ideas so far would be:
- Actually copying addons and not linking to them (big chance on failing builds due to locations getting messed up) when I first include them in my App.
- Creating a new folder with it’s own repo next to the addons folder (something like /usedAddons) dragging the currently used addons into it, and somehow implementing it as a submodule inside my root/apps/myApps/myApp folder
I am using Tower as an external client, which has nice support for Submodules, making a seperate usedAddons repo a viable option. Just not sure if this is the correct way to go. (Might get messy when working on multiple projects at once for instance)
As always, thanks in advance.