On 11/28/2011 05:34 PM, Hyrum K Wright wrote: > In working on the Ev2 shims, I discovered svn_delta_path_driver(), a > nifty little API whose purpose I haven't totally yet discerned. It > looks to be some kind of hybridization of the editor, allowing a > caller to handle some portion of the editor drive manually, though the > documentation has enough ifs, buts, and wherefores to make me a bit > unsure.
I created svn_delta_path_driver() for those situations where we have a set of paths to be modified, the full set of which we know in advance -- we aren't discovering them via an editor-compatible-deep-crawl that's easy to hook directly up to an editor, for example. It's primary value is that it does the work of figuring out which open_dir/close_dir pairs to fire off for intermediate directories (which generally *aren't* in that set of paths-to-be-changed), allowing it callback to act *only* on the "really changed" paths. The foremost uses which come to mind are client commits (which *do* perform a WC crawl, but flatten out the list of modified things long before using them to drive the commit editor) and anything that's driving an editor from the repository's "fs-paths-changed" output hash. > If I am correct, however, it would appear that this API is not > compatible with our current editor shims, which queue up all changes > made in an editor, and then play them back through the new shim. > > Any illumination by folks knowing more than I would be appreciated. I'd have to know more about the new editor to make a value judgment here. But I can probably help you grok the ..._path_driver() if need it. -- C. Michael Pilato <cmpil...@collab.net> CollabNet <> www.collab.net <> Distributed Development On Demand
signature.asc
Description: OpenPGP digital signature