|
|
svn-summit
|
|
Old Repos |
New Repos |
Old WC |
Same as current |
|
New WC |
|
Fully normalized |
Phased Switchover
Tackle working copy first and eventually normalize everything. This should fix OSX while giving a path for future.
- Phase 1
- Server would need to be enhanced when receiving a decomposed file to reject commit if it already had the composed version.
- Client would need to continue to send decomposed format for new files. Maintains compat with older clients.
- Client would need to send "repos format" back to server on commits.
- Client would need to perform encoding insensitive comparisons and normalize path strings used in hash keys.
- Phase 2 == fully normalized storage (might require "2.0" due to changing API and protocol expectations)
Server-imposed Policies/Configs
- global ignores
- auto-props/enable
- log msg template
- client-side hooks
- use-commit-times
- no-unlock
Server-side hook script that received paths for operation and returns configuration. Client would store this in WC root. Checkout, Update and Commit would all need to call this new RA API to get the latest config.
Administrator, via logic of script, decides the settings to send to client. Paths will be available to hook script to allow path-based differences in the output.
WC-NG
Erik gave an overview of his initial concerns with libsvn_wc (which cmpilato, inspired by his local environment, joked meant "libsvn_watercloset"). Initial (primary) problem was that the WC lacked true design and definition. (It has since been opined that perhaps there should never have been a libsvn_wc, but that this functionality should have just been part of libsvn_client.)
Some problems for near-term correction:
- node type changes not consistently handled
- scheduled tree replace + subtree delete not modeled
- shared working copies not working
- ...
Future goals:
- offline commits
Other open WC items:
- no guarantee user doesn't change file between file save and final commit
We delved off into a discussion about upgrading working copy formats -- how to avoid having to do it so often (futureproofing); how Greg anticipates the WC-NG code handling it; and so on.
See DayThreeAgenda for the continuation of this topic exploration, or go back to FrontPage
DayTwoAgenda (last edited 2008-10-15 14:59:42 -0700 by ?cmpilato)