Flex Based Subversion Browser

One of the things that I have really wanted to focus on was learning Flex and AIR this year. I have been putting it off for far too long. So far this year I have been keeping that promise to myself as I have been working with Flex just about every night so far.

One of the ways I learn is by building applications. Not just "Hello World!" apps, I get too bored with that, so I have to find something that interests me and would be useful. So I decided to build a Flex based Subversion browser since I havent seen one around. Im making really good progress on it and learning some great stuff along the way. I have several blog posts started already covering several of the things I have learned along the way. I should be posting those starting next week.

Here is a screenshot of the part of the interface. Im using the Yahoo Flex Skin which looks quite nice and is a major improvement over the default look.

When Im done with this thing I will post the code over on RIAForge in case anyone wants to play around with it. I cant wait to get it done so I can start on something else!


Clean SVN Meta-Data From Project Via Commandline in *Nix

I just ran into a situation that I dont think I have faced before and I thought I would post the solution to the problem for my own future reference and for those of you that may find it useful.

I use CFEclipse and Subversion for working with my projects, but tonight I wanted to copy the contents of one of my project folders into another project folder using the Finder in OS X. So good 'ole drag-n-drop and I was done. What I didnt take into account was the fact that you cant see all of the ".svn" folders in Finder by default since they are hidden, so all of them were copied into the new projects folder. Well to say the least I wanted to clean all of that stuff out before I shared the new project folder to an SVN repository. So I opened terminal and had to think of a way to recursively delete the ".svn" folders under every folder in the application. There were 27 instances nested in the application so I didnt want to do each one by hand. So a bit of Googling and I turned up a neat trick about the 'rm' commandline tool that I never knew.

First I wanted to find how many .svn folders I was dealing with so I typed this in the terminal:

find . -type d -name .svn

Which produced a long list of every instance. So it turns out that you can pass that find command to 'rm' as an argument and it will delete every instance that is found. It looks something like this:

rm -rf `find . -type d -name .svn`

Notice that the find command is wrapped in those funny grave accent quotes (key to left of '1').

Now I know there is probably a better/faster way to do this with ANT but I dont have ant build files setup for every project. So I just thought that this might be useful.