[[This is a light weight implementation specification for the
"svn:needs-lock" feature on the locking branch.  Its purpose is
primarily to help me iterate through the development of the feature,
and secondarily to allow any reviewers to get better idea of my game
plan.  -Fitz ]]

svn:needs-lock behaviors:
=========================

Checkout:
- If svn:needs-lock is set on a file when the file is checked out, set
  the file to read-only.

Update:

- If svn:needs-lock is unset in wc, but update sets it: 
  - If the file has local mods, print a warning and do nothing???
  - Else, set file to read-only.
- If svn:needs-lock is set in wc, but update unsets it: Set file to
  read-write.
- If svn:needs-lock is set or unset in both places: Do nothing.
- If svn:needs-lock is set and the lock is removed by update (i.e.,
  the lock in the wc was defunct):
  - If the file has local mods, print a warning and do nothing???
  - Else, set the file to read-only. 

Propset:

- Setting the svn:needs-lock property does nothing WRT a file's
  permissions.  The file will be set to read-only at commit time.  See
  "Commit" below.  (Propset does, however, canonicalizes the value to '*')
  
Propdel:
- Removing svn:needs-lock sets the file to read-write.

Propedit:
- If the property is changed via propedit, we need to canonicalize it
  to '*'.

Lock:
- If svn:needs-lock is set, the file is set to read-write.

Unlock:
- If svn:needs-lock is set, the file is set to read-only.

Copy:

- repos-to-wc or wc-to-wc copy: Ensure that the copy is read-write
   even if svn:needs-lock is set as this is another schedule add case.

Commit: 
- If a file has the svn:needs-lock property set and is not locked:
  - Unconditionally set the file to read-only.
- Else, do nothing.



Caveats:

- 'svn update' doesn't currently work on Windows if the working files
  are read-only, you will need to add some permission changing code.
