AFAIK, a SVN branch creates a copy of all the files and assign them a revision number.
However, when I switch to the branch, the revision number of the unmodified files correspond to the revision in the trunk.
For example:
Suppose I have in the trunk:
foo.txt 2 trunk
When I create a branch:
foo.txt 100 branch copy from trunk@2
But when I do a checkout of the branch I see:
foo.txt 2 trunk
Why in the branch the revision of foo.txt isn't 100 ?
Subversion does not have a revision number by element, but for the whole file tree. And if you make a copy in Subversion, this is just a reference to the revision that is the base for your copy (so called cheap copy in Subversion). As long as you don't change anything in the file, the file will reference its last change, and that was done in the trunk.
So the revision number is a bit misleading, but correct. And yes, it is different to some of the other version control systems out there (especially CVS).