I don't know about the code organization as I have never looked at it, but here is the typical version control arrangement:
trunk - this is typically the current code. It may or may not work. Good version control practice means that it should compile and function to some degree. Usually bug fixes are applied to the trunk.
branches - this is where most development should occur. Code in branches may be completely broken. They may contain developments that will never be merged back into the trunk. However typically developements in branches are merged into the trunk once complete. There can be multiple branches of development in parallel.
tags - this is where releases are stored. When the development team decides that the code is ready for release, they put a copy in here with the version number. Code in here should be complete and functional. But is may be horribly out of date.
So try the code in the trunk first. If it doesn't work try the latest version in tags.
Andy