[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn_delta_path_driver(), its purpose and future

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Tue, 29 Nov 2011 07:24:43 -0500

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 <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on 2011-11-29 13:25:30 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.