Adding a New Rails Project under Subversion

I generally use Subversion for source control when given the choice. In day to day usage, I like to use Tortoise SVN as it gives you a GUI with tick boxes for files to check in. However, it's handy to use the command line tool for project setup and automation.

Often, there is a subversion repository already set up and running on another machine. In this situation, I generally:

  1. Check out the repository at the top level into a temporary directory through Tortoise, add a new directory ([appname]) for the new project, and check it in.
  2. Generate the new rails app (rails [appname]).
  3. Check out [appname] from the repository into the local directory [appname] which contains the Rails project.
  4. Add and check in all files through Tortoise.
  5. Run the following commands from the command line to remove logs and tmp from the repository:
svn remove log/*

svn commit -m "removing all log files from subversion"

svn propset svn:ignore "*.log" log/svn update log/

svn commit -m "Ignoring all files in /log/ ending in .log"

svn remove tmp/*

svn propset svn:ignore "*" tmp/

svn update tmp/svn 

svn commit -m "Ignoring all files in /tmp/"

There's more Rails/Subversion info to be found on the Rails wiki.


Actions

Information

One response to “Adding a New Rails Project under Subversion”

2 07 2007
Josh G (01:30:00) :

Nice - also have a look at http://wiki.rubyonrails.org/rails/pages/HowtoUseRailsWithSubversion for tips and links to other similar tutorials.

On a side note, when you have large projects or those with lots of repository activity (like most Agile projects do), it's often good to have a distinct repository per project, as there's less effort in processing what's changed between repository version numbers and whether it applies to your subtree. Anyway, it's easy enough to split/merge repositories with svnadmin.