It's important to keep track of changes to your software. I use Subversion for version control. One issue that's always been quirky for me is ignoring files. The authority on Subversion, the red-bean book, doesn't give a lot of depth on svn:ignore. It describes how to do what you may have done before in CVS and how to match groups of files. That's useful but I work on Drupal and I have the same set of files on multiple servers for development. These servers have the same files but different quirks with .htaccess and settings.php. So when I check in changes I don't want my settings.php from a development server overwriting the changes.
Just a quick note for subversion. I was working on a shell script and my first check-in was from the Windows machine I'm working on. My target is the Bash shell in Linux though. When I checked the file out on the target, I had to do a chmod a+x myscript.sh every time I checked out. A little googling and I found that Subversion knows about the executable attribute. I don't know how exactly it interprets the attribute internally, but what worked for me was setting the svn:executable property for the file in the working directory. I don't know how to do this with the command-line client, but in Tortoise SVN it was pretty easy. On my Windows machine I right-clicked the file, picked "Properties" and selected the "Subversion" tab.
Humour me if you're an Eclipse expert already, but I've been taking my time about getting familiar with it. I tried the compound XML document editor a little while back and was less than impressed with it's SVG editing ability. As far as I could tell it didn't even respect the encoding I specified (I couldn't change from the default to UTF-8). Maybe I missed the point of that plugin, though.
So tinkering a bit with a new project in Eclipse recently, I noticed that there's CVS support built in. I like Subversion and have a couple projects stored in Jeff's subversion repository. I love the almost seemless integration of the Tortoise SVN client into Windows Explorer. So seeing the CVS support in Eclipse got me wondering about SVN support. Sure enough, the good people at Tigris.org have an Eclipse plugin called Subclipse.