I'm starting of with a new CI project based on the CI 2.0 Reactor repository. Because the CI2 code is still changing, I would like to keep that code fresh, the question is how (using Git).
For the non-CI folks, the basic structure of a CI2 project looks like this:
system/
application/
index.php
...
The system directory contains the framework, index.php does the bootstrapping and application contains my project. Ideally, I would like to keep both index.php and the system folder up-to-date using Git. Another thing I would like to adhere to is name of the application folder. (You can change the path of your application folder in index.php.) Keeping the name the same makes it possible to just drop in the folder, and off you go.
I've tried to realize this by using git submodules (see below), but submodules don't let you specify a directory from the target repository.
git submodule add https://github.com/philsturgeon/codeigniter-reactor.git/code-igniter/system system
Any clue how I can achieve this?
I stumbled in the same problem too.
I really want use git to bring the codeigniter core with the application without copy and paste the updates every time! There are a lot of advantages to use git submodules (and who use git already know that).
So I did it in this way:
mkdir yourapp
cd yourapp
git init
git sudmodule add git://github.com/EllisLab/CodeIgniter.git codeigniter
mkdir public
cp codeigniter/index.php public/
cp -rp codeigniter/application .
Now edit public/index.php and change:
$system_path = 'system';
to:
$system_path = '../codeigniter/system';
and:
$application_folder = 'application';
to:
$application_folder = '../application';
Now point your webserver to your "public" folder and it's done! Now you have a project with codeigniter as a submodule :)
Sadly you cannot reference a specific folder in a sub-module, only the root of the sub-module itself. That would mean you need to put your application in a sub-folder, which would be crap.
You can however just set up two remotes on your Git application.
git init
git remote add origin git://whatever
git remote add reactor [email protected]:philsturgeon/codeigniter-reactor.git
Then update with reactor changes
git pull reactor master
git push origin master
Remember that this clone is really intended to help people get their CodeIgniter Reactor changes int without needing to learn Mercurial, but you are welcome to use it as long as it exists.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With