A short article on how to setup a symfony 1.4 project with SVN
Here is a short article on how to setup a symfony 1.4 project with SVN. This will helps you to have a good start with symfony 1.4.
First, you have to create your SVN repository. There are many tutorials about it, so I wont step into the details.
Let’s assume that our repository is http://svn.example.com/symfonyproject101
From your Dev path environement:
svn checkout http://svn.example.com/symfonyproject101 cd symfonyproject101
This will create a new folder called symfonyproject101 on your system inside which you can code.
Now, we will link the symfony 1.4 repository to this project:
mkdir -p lib/vendor svn add * svn commit -m "Symfony installation" svn propset "symfony http://svn.symfony-project.com/branches/1.4/" svn:externals lib/vendor/
This will link the directory lib/vendor/symfony to the symfony repository. Every times you will do an svn update, it will also update your symfony library to the latest version without pollute your svn repository.
After you’ve saved the directory, run an svn update:
svn update
It will create all the necessary folders and files under your folder:
Fetching external item into 'lib/vendor/symfony' A lib/vendor/symfony/test A lib/vendor/symfony/test/unit A lib/vendor/symfony/test/unit/sfContextMock.class.php A lib/vendor/symfony/test/unit/escaper ...
Once you have done that, you can now create the real project with generate:project:
php lib/vendor/symfony/data/bin/symfony generate:project PROJECT_NAME
where PROJECT_NAME is your project.
Run an svn add to your project and then submit it:
svn add * svn commit -m "Symfony installation"
For the web sf default assets, you can link the web/sf directory to the right svn path:
svn propset "sf http://svn.symfony-project.com/branches/1.4/data/web/sf/" svn:externals web
It is a good idea to exclude the log/ and cache/ folders as well as the web/uploads/ folders from the svn repository because they are unnecessary and will pollute it.
svn propedit svn:ignore "*" ./cache/ svn propedit svn:ignore "*" ./log/ svn propedit svn:ignore "*" ./web/uploads/
And that should be it. You can now work on your new symfony project and commit in your repository without a glitch.
Optional: You can use the svn:external feature for your plugins directory. Example:
svn propedit svn:externals plugins sfDoctrineGuardPlugin http://svn.symfony-project.com/plugins/sfDoctrineGuardPlugin/trunk/
svn update
This will create the sfDoctrineGuardPlugin directory and update it automatically every times you do an svn update.
No Comments