1 [[This is a light weight implementation specification for the
2 "svn:needs-lock" feature on the locking branch. Its purpose is
3 primarily to help me iterate through the development of the feature,
4 and secondarily to allow any reviewers to get better idea of my game
7 svn:needs-lock behaviors:
8 =========================
11 - If svn:needs-lock is set on a file when the file is checked out, set
12 the file to read-only.
16 - If svn:needs-lock is unset in wc, but update sets it:
17 - If the file has local mods, print a warning and do nothing???
18 - Else, set file to read-only.
19 - If svn:needs-lock is set in wc, but update unsets it: Set file to
21 - If svn:needs-lock is set or unset in both places: Do nothing.
22 - If svn:needs-lock is set and the lock is removed by update (i.e.,
23 the lock in the wc was defunct):
24 - If the file has local mods, print a warning and do nothing???
25 - Else, set the file to read-only.
29 - Setting the svn:needs-lock property does nothing WRT a file's
30 permissions. The file will be set to read-only at commit time. See
31 "Commit" below. (Propset does, however, canonicalizes the value to '*')
34 - Removing svn:needs-lock sets the file to read-write.
37 - If the property is changed via propedit, we need to canonicalize it
41 - If svn:needs-lock is set, the file is set to read-write.
44 - If svn:needs-lock is set, the file is set to read-only.
48 - repos-to-wc or wc-to-wc copy: Ensure that the copy is read-write
49 even if svn:needs-lock is set as this is another schedule add case.
52 - If a file has the svn:needs-lock property set and is not locked:
53 - Unconditionally set the file to read-only.
60 - 'svn update' doesn't currently work on Windows if the working files
61 are read-only, you will need to add some permission changing code.