Difference between Subversion's checkin and import commands?

Solution 1:

Import puts an unversioned file or tree into the repository.

Commit puts changes from your working copy into the repository.

There is no svn checkin.

Solution 2:

I've always thought it to be that 'add' adds new files within an existing repository and puts them under version control, whereas import adds new files but leaves the local copy outside of version control. Add also requires a working repository, whereas import can be used to "seed" a newly created repo.

Edit... the commit then "checks in" the newly added files (akin to an import, but added to the current working repository). Also handles changes to existing (non added) files.