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

Re: proposal: diff preview for gui client

From: Martin Hauner <Martin.Hauner_at_gmx.net>
Date: 2005-06-20 16:26:59 CEST

Peter N. Lundblad wrote:
> On Sat, 18 Jun 2005, Martin Hauner wrote:
>
> > Ben Collins-Sussman wrote:
> > >
> > > IIUC, 'svn merge' is now doing exactly this in svn 1.2.
> > > [..]
> > > So in svn 1.2, cmpilato changed 'svn merge' to request one of our old-
> > > fashioned tree-delta reports, one which we used to call a "skelta".
> > > It's a tree-delta without any text-deltas, just a description of
> which
> > > files need to be fetched. 'svn merge' now quickly sucks the whole
> > > skelta into a tmpfile, then parses the skelta slowly, doing
> > > svn_ra_get_file()'s as needed.
> > >
> > > So it sounds like we don't need a new RA function here at all, do we?
> > > 'svn merge' is already doing this very thing, so it must be already
> > > possible.
> >
> > Yes, it can be done without a new ra function.
> >
> > I created a new api function svn_client_diff_preview with a callback
> > function svn_diff_preview_func_t. It uses a simple svn_delta_editor_t
> > implementation as input to svn_ra_do_diff. So no new ra function.
> ...
>
> But, as Philip implicitly points out, that will send you text deltas
> (which you ignore, I guess). To be more efficient, you need a revised (see
> HACKING) version of svn_ra_do_diff, with a parameter indicating whether to
> send text deltas or not. We already have that functionality for
> svn_ra_do_status, so I think it should be pretty straight-forward to
> implement.

Oh, I see. So from scanning a bit through the source the big picture is:

- add a new svn_ra_do_diff2 method with an additional parameter
   svn_boolean_t text_deltas

- add the new boolean parameter to do_diff in svn_ra__vtable_t

- and finally pass the new parameter to svn_repos_begin_report in the
  different repository access libs.

I guess there is some more stuff to do between the last two steps.

Is this basically the correct direction?

-- 
Martin
Subcommander, http://subcommander.tigris.org
a cross platform Win32/Unix/MacOSX subversion gui client & diff/merge tool.
Weitersagen: GMX DSL-Flatrates mit Tempo-Garantie!
Ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 20 16:28:31 2005

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