It's awkward to title this without being a little vague so I'm sorry if it's a little unclear. Let me clear things up here.
I'm pretty new to git and I'm using bitbucket so part of this most likely comes from inexperience.
I'm noticing when I push things up to bitbucket, it pushes the "guts" of whatever is in my gitinit folder however with Concrete5 CMS packages, you need the parent folder, because it's referenced by a controller.php file inside.
The basic folder structure of a package in Concrete5 is like this:
Root Dir: packages
Dir: my_package_name
controller.php (references the above folder name so it can't change)
Right now I'm doing a git init
inside the package folder (my_package_name
with the above example).
I'm making all my changes using a local Concrete5 install and then committing and pushing them up to bitbucket. That tracks the "guts" of my package well enough but if I were to say, share the bitbucket repo with a coworker and he just downloaded it from bitbucket directly, it would come down like myteamname-my_repo_name-12243343.zip
and unzipping that just keeps the folder name with all that extra gobbledygook. It would not install correctly since the package controller is just looking for my_package_name
.
So I thought, well, I could just gitinit
in the root Dir, packages
... however that tracks ALL the packages, it would be a pain in the ass to shuffle through all of them, isolate which files to add and commit not to mention changing the remote repo every time I want to push to bitbucket. I could have 20-30 packages going at once so I don't think that's realistic unless I'm missing some key functionality of git. I definitely do not want them ALL in one repo either.
Outside of manually moving the packages in their parent folder out of my dev environment and then committing / pushing elsewhere, I'm not sure how to best handle this? That seems like a lot of extra work I'd rather not do not to mention leaves open the chance for things to go untracked.