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

RE: JavaHL RFE: ISVNRemote should provide API to retrieve a contents of aspecific file

From: Bert Huijben <bert_at_qqmail.nl>
Date: Fri, 24 Apr 2015 20:26:18 +0200

I'm guessing VC6 still works as that was used in many httpd builds until recently, but 2002 and 2003 are as far as I know unmaintained for a few releases and most likely broken.

A patch would be welcome, but I just tried to improve the patch a bit further. It might be easier to rework the entire document as things as 'install the sdk' are outdated in the common scenarios. 1.9+ also allows references to dependencies in an install location instead of only in source layouts.

Bert

-----Original Message-----
From: "Marc Strapetz" <marc.strapetz_at_syntevo.com>
Sent: ‎24-‎4-‎2015 14:00
To: "dev_at_subversion.apache.org" <dev_at_subversion.apache.org>
Subject: JavaHL RFE: ISVNRemote should provide API to retrieve a contents of aspecific file

To allow users to browse through all contents of a file (as part of an
interactive blame), it's necessary to have an efficient API to retrieve
these file contents.

AFAIU, the low-level file_rev_handler already provides this information
via svn_txdelta_window_handler_t. Unfortunately, in RemoteSettion.cpp
this information is converted to just a boolean (delta_handler != NULL)
and passed to the JavaHL callback afterwards.

I don't think it's necessary (or even desirable) to provide the
patch/stream logic, like svn_stream_open_readonly, as Java API, just a
way to retrieve complete file contents for all revisions. Suggestion:

interface ISVNRemote {
/**
  * @param RemoteFileContentsCallback may be null
  */
void getFileRevisions(String path,
                       long startRevision, long endRevision,
                       boolean includeMergedRevisions,
                       RemoteFileRevisionsCallback handler
                       RemoteFileContentsCallback contentsHandler)
   throws ClientException;
}

interface RemoteFileContentsCallback {
     void doFileContent(ISVNRemote.FileRevision fileRevision,
                        InputStream content);
}

-Marc
Received on 2015-04-24 20:26:55 CEST

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.