Swig/Java API
I think we should precisely mirror the c api.
This will be faster to write, and the same docs/experience exists.
Here are a few example python lines:
fs.node_history(connection._v_root, self.svnpath, pool)
stream = fs.file_contents(repository_root, target_path, pool)
data = util.svn_stream_read(stream, CHUNK_SIZE)
if kind_of_node == core.svn_node_none:
return ()
elif kind_of_node != core.svn_node_dir:
return (target_path, self.GetFileData(repository_root,
target_path, pool))
svn_pool_destroy(pool)
revision = fs.youngest_rev(fs, pool)
-----Original Message-----
From: Daniel Rall [mailto:dlr@collab.net]
Sent: Tuesday, August 01, 2006 4:45 PM
To: Dan Pozmanter
Subject: Re: Java Question
Let's start by defining what the APIs should look like for Java (see my
questions about half way down the quoted text).
If you have examples in Python (or whatever), that would be a good place
to start the discussion. Let's continue it on the dev list.
- Dan
On Tue, 01 Aug 2006, Dan Pozmanter wrote:
> Super Cool.
> I would like to help.
> We can I start?
>
> -----Original Message-----
> From: Daniel Rall [mailto:dlr@collab.net]
> Sent: Tuesday, August 01, 2006 2:00 PM
> To: Dan Pozmanter
> Cc: Mark Phippard; dev@subversion.tigris.org
> Subject: Re: Java Question
>
> On Mon, 31 Jul 2006, Mark Phippard wrote:
>
> > JavaHL does not allow you to write files without a working copy,
> > unless you count import. It can run log, info, cat and ls directly.
> > Also, copy, move, delete.
> >
> > I did not realize that Subversion even let you do a commit with a
> > working copy. Can it commit a change that way? One thing I would
> > like to do in Subclipse with JavaHL is several repository actions in
> > one commit. Such as create many directories with one commit, or
> > move
> many files.
>
> It can. The hoops to jump through involve writing delta editor
> callbacks, doing validation on the state of the repository, and --
> most importantly, and where most of the work is -- driving the delta
> editor to apply your changes to the repository.
>
> Here's an example (in C):
>
> http://svn.collab.net/repos/svn/trunk/tools/examples/svnput.c
>
> (Also cited as examples by cmpilato and rooneg are: 'svn import', 'svn
> copy URL URL', 'svn mkdir URL', 'svn delete URL', etc.)
>
>
> Dan Pozmanter responded to Mark:
>
> > You can do all of these with the c api, as well as with the mildly
> > higher level bindings for python, perl and ruby. It is especially
> > nifty being able to do a bunch of operations at once...
> ...
>
> Can you describe exactly what you'd like the API to look like, and
> provide pointers to how this looks in the other binding APIs (e.g.
> Ruby, Python, etc.)?
>
>
> And in another message on Mon, 31 Jul 2006, Dan Pozmanter wrote:
>
> > :) So, how's about add and commit?
>
> I might be able to put something together.
>
> ...
> > Are there any plans to implement the repository, core, or fs api's
> > in
> java?
>
> As Mark mentioned, implementation of these APIs will be need-driven.
> Personally, I'm definitely interested in seeing such bindings emerge,
> and would certainly be willing to help anyone interested in writing
> some patches.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Aug 1 23:01:40 2006