Design Notes
The following are links to various notes about the design and implementation of various Subversion features and enhancements.
LocalMoves - functional design for client-side move and rename tracking
Editor, version 2 (Ev2) - Updating the way we transmit difference within Subversion
EncryptedPasswordStorage - (forced and/or turn-key) encrypted storage of cached client-side authentication credentials
Also see MasterPassphrase
FS2 - Thoughts about a re-designed and flexible backend storage system, to replace both libsvn_fs_base and libsvn_fs_fs
StarDelta is a potential low-level algorithm to be used in the FSFS2 backend
InheritedProperties - node properties that apply to descendants too
InRepoAuthz - Storing Authz files inside a repository
MergeinfoCommand - 'svn merginfo' shows a summary diagram by default
MergeLimits - thoughts on the nature of the merge use-case
MtimePreservation - storing "modified time" for files in a versioned property
MultiLayerMoves - recording multiple layers of moves in the working copy
NodesOperations - understanding WCNG NODES table
Repository Dictated Configuration - server-dictated configuration via inheritable props
SymmetricMerge - understanding sync, reintegrate, catch-up, cherry-pick merges
UnicodeComposition - managing differences in Unicode character composition in paths
Not Yet Written
BetterExternals - ideas for something as useful but less crufty
Abandoned
Designs that were discussed but never implemented. These remain here for archival purposes.
ServerDictatedConfiguration - server-dictated configuration of client-side behavior (abandoned in favor of Repository Dictated Configuration)