Yes, this is how I remember CouchDB working. It leaves the hard parts of conflic resolution up to the client app:
Once you have retrieved all the conflicting revisions, your application can then choose to display them all to the user. Or it could attempt to merge them, write back the merged version, and delete the conflicting versions - that is, to resolve the conflict permanently.
You do realize that SQL databases handle this automatically via locking schemes and transaction, right?