Design Notes
The following are links to various notes about the design and implementation of various Subversion features and enhancements.
- Authz Improvements - about the authzperf branch
- LocalMoves - functional design for client-side move and rename tracking
- ResolvingIncomingMoves - notes about resolving incoming moves with the new conflict resolver
- Editor, version 2 (Ev2) - Updating the way we transmit difference within Subversion
- MoveDev How to Add Moves to Svn Move Development
- EncryptedPasswordStorage - (forced and/or turn-key) encrypted storage of cached client-side authentication credentials
- Also see MasterPassphrase
- 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
- StarDelta is a potential low-level algorithm to be used in the FSFS2 backend
- InheritedProperties - node properties that apply to descendants too
- In-Repo Authz - 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
- SavePoints - implementation of stored working copy state to allow rolling back to such a state, stash, and local commits.
- SymmetricMerge - understanding sync, reintegrate, catch-up, cherry-pick merges
- UnicodeNormalization - managing differences in Unicode character composition in paths and mergeinfo
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)