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:
- 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.
- Generate the new rails app (rails [appname]).
- Check out [appname] from the repository into the local directory [appname] which contains the Rails project.
- Add and check in all files through Tortoise.
- 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 commit -m "Ignoring all files in /tmp/"
There's more Rails/Subversion info to be found on the
Rails wiki.