If someone else has a file locked, there's no conceivable reason why the
file should be writable by me. But presently, if one user locks a file,
there is no hint to any other user, that they shouldn't edit the file.
That is, unless the second user expects the file to be locked, and does
a status check to find out.

There is only one reason a user would ever edit a file that's locked by
someone else. They didn't expect it to be locked.

> Other version control systems also force you to lock before
> you can start working on the file, so how's that an added
> inconvenience in (T)SVN?

I'm not comparing svn against other version control systems. I am
comparing the philosophy of forcing users to lock all files before edit,
vs not forcing users to obtain lock.

I don't feel that I should force users to lock files before they are
allowed to edit them.

Unfortunately, that's exactly what users would experience if I set the
"needs-lock" on all the files. And unfortunately, "needs-lock" is what
people seem to suggest the most strongly, to ensure that all users see
someone else's lock before editing.

> Granted, but the workflow you are suggesting kind of
> disagrees with the SVN philosophy. As stated before by others
> in this thread: SVN favors the copy-modify-merge approach
> instead of the lock-modify-unlock approach.

I am not suggesting an overall workflow of lock-modify-unlock. My users
and myself generally use update-modify-commit. However, if one person
knows they will be working in one file for a long time (say, 3 days)
that person will want to lock-modify-commit-unlock.

It is not desirable to allow someone to work on a file that has already
been locked by someone else.

There is only one reason why anyone would ever attempt to modify a file
that has already been locked by someone else -- They didn't expect it to
be locked. Therefore they didn't check for lock. It is not friendly to
wait for the commit attempt, and inform the user after he/she has
already wasted their time.

If someone else has a file locked, there's no conceivable reason why the
file should be writable by me.