[ I guess you wanted a wide reply ... ] Stefan Reichör <[EMAIL PROTECTED]> writes:
> Matthieu Moy <[EMAIL PROTECTED]> writes: > >> Masatake YAMATO <[EMAIL PROTECTED]> writes: >> >>> Layers I image: >>> +--------------------------------+------------------------+ >>> | dvc-ui | | >>> +--------------------------------+ | >>> | per version contsol system ui | >>> +------------------+--------------------------------------+ >>> | dvc-core | per version contsol system core | >>> +------------------+--------------------------------------+ >> >> I'd change this slightly: >> >> +-----------------------------------------------------------------+ >> | Common UI (that autodetects the back-end) | >> +---------------+-------------------+------------------+----------+ >> |Bazaar (Xtla) | Mercurial (xgh) | Bazaar 2 (bzr) | ... | >> |+-------------+|+-----------------+|+----------------+| | >> ||Xtla core ||| xhg core ||| bzr core || | >> |+-------------+|+-----------------+|+----------------+| | >> +---------------+-------------------+------------------+----------+ >> | DVC core | >> +-----------------------------------------------------------------+ >> >> Ideally, the common UI would work like nn___.el in Gnus : You can >> simply take a nn<something>.el, add it to your load-path and start >> using it, without adding any reference to it in the core of Gnus. >> >> So, the top layer is not as trivial as it seems to be, and I'd like to >> have the top and the bottom before having too many features in the >> middle. > > I like that approach. I already implemented some steps towards it as a > discussion base. > > * dvc-register-dvc can be used to register a new system > * dvc-current-active-dvc returns the currently active dvc > It scans dvc-select-priority to find the first matching system > * One thing that is not fully clear is, how to set dvc-select-priority > - Set it in dvc-register-dvc > + drawback: the order depends on the load order > + drawback: the lists gets long, testing is probably no cheap operation > + advantage: No further settings necessary > - The user should customize it > + drawback: more work for the user > + advantage: the user knows what he wants > * xhg-tree-root, tla-tree-root are the first set of specific functions > that must be implemented for every dvc > > > Comments? My suggestion regarding priorities would be: * The user can customize dvc-select-priority * There is anyway a dvc-registered-backend-list or stg like this, that contains all the backends. * DVC searches in dvc-select-priority first, and if it doesn't find it, then take the first matching item in dvc-registered-backend-list. -- Matthieu
