ok, we are just using different terminology here.
Yes, sometimes even the same person. :-)
as far as i am aware of 'tag' and 'branch' are terms common to most revision control systems. and i use the terms in that sense.
In CVS, "tag" and "branch" have specific meanings, related to metadata in the ,v file. And the things in "tags" and "branches" in my svn repository happen to match exactly the things which have this metadata in CVS. So no mismatch thus far.
In subversion, "tag" and "branch" are not part of the infrastructure. So "branch", by convention, means "something which was copied from the trunk/ to the branches/ directory". Well, we don't have a trunk/, so this convention can't be applied.
When you say that things in Pike are mixed of branches and nonbranches, you don't seem to use the term branch in either the CVS sense (having a CVS version with an odd number of digits) or the svn sense (residing in the "branches/" directory). Maybe you are using it in the git sense, but I don't know what that is.
(in svn tags appear to be just another convention, whereas in cvs and git tags are really just markers of a given state. (what happens if you commit a change to a tag in svn? will that change the tag?)
Well, if you commit a change to a directory under tags, that directory changes (on head). There's nothing special about this directory. Whether you consider this to be "changing the tag" is up to you, as the tag concept does not exist inside svn itself.