Subversion tracks tree structures, not just file contents. It's one of the biggest reasons Subversion was written to replace CVS.
Here's what this means to you, as a former CVS user:
The svn add and svn
          delete commands work on directories now, just as
          they work on files.  So do svn copy and
          svn move.  However, these commands do
          not cause any kind of immediate change
          in the repository.  Instead, the working items are simply
          “scheduled” for addition or deletion.  No
          repository changes happen until you run svn
          commit.
Directories aren't dumb containers anymore; they have
          revision numbers like files.  (Or more properly, it's
          correct to talk about “directory
          foo/ in revision 5.”)
Let's talk more about that last point. Directory versioning is a hard problem; because we want to allow mixed-revision working copies, there are some limitations on how far we can abuse this model.
From a theoretical point of view, we define “revision
      5 of directory foo” to mean a
      specific collection of directory entries and properties.  Now
      suppose we start adding and removing files from
      foo, and then commit.  It would be a lie
      to say that we still have revision 5 of
      foo.  However, if we bumped
      foo's revision number after the commit,
      that would be a lie too; there may be other changes to
      foo we haven't yet received, because we
      haven't updated yet.
Subversion deals with this problem by quietly tracking
      committed adds and deletes in the .svn
      area.  When you eventually run svn update,
      all accounts are settled with the repository, and the
      directory's new revision number is set correctly.
      Therefore, only after an update is it truly safe to
      say that you have a “perfect” revision of a
      directory. Most of the time, your working copy will
      contain “imperfect” directory revisions.
Similarly, a problem arises if you attempt to commit property changes on a directory. Normally, the commit would bump the working directory's local revision number. But again, that would be a lie, as there may be adds or deletes that the directory doesn't yet have, because no update has happened. Therefore, you are not allowed to commit property changes on a directory unless the directory is up to date.
For more discussion about the limitations of directory versioning, see the section called “Mixed Revision Working Copies”.