git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GSoC update] git-remote-svn: Week 7
@ 2010-06-14 16:19 Ramkumar Ramachandra
  2010-06-14 16:19 ` [WIP PATCH] Add a skeleton RA SVN client Ramkumar Ramachandra
  0 siblings, 1 reply; 3+ messages in thread
From: Ramkumar Ramachandra @ 2010-06-14 16:19 UTC (permalink / raw)
  To: Git Mailing List
  Cc: David Michael Barr, Jonathan Nieder, Sverre Rabbelier,
	Michael J Gruber, Ævar Arnfjörð Bjarmason,
	Jonas Gehring

Hi,

I suspect that people are confused about what I'm exactly doing and
how to review/ test all the work since I've been posting updates in
rapid bursts, and writing relatively short emails. For a change, this
email is going to be (relatively) long and detailed since things are
finally starting to take shape. So, the project involves the following
components:
1. The remote helper application or remote-svn (90% complete): There's
nothing much to see here; I just stripped down remote-curl.c and
posted a remote-svn.c along with the relevant Makefile rule to build
it a few weeks ago [1]. What this needs: Some infrastructure to do the
importing/ exporting in $GIT_ROOT/vcs-svn/.
2. David's SVN exporter or svn-fe (80% complete): This is quite an
excellent piece of software for turning an SVN dumpfile into a stream
that git-fast-import can import [2]. David has validated it against
940,000 commits of the ASF repository, and it works perfectly. It's
80% complete because there's some room for refactoring certain parts,
and cosmetic beautification before the merge into `next`. I work on
both `master` and a special `git-merge` branch specifically for
merging it into git.git. Jonathan has suggested that two separate
components should be merged into git.git: svn-fe itself as an
independent program in $GIT_ROOT/contrib/ and the `git-merge` branch
for creating infrastructure for the remote helper in
$GIT_ROOT/vcs-svn/. We are currently preparing a series for the
former, while the latter was just merged into pu this week [3].
3. The RA SVN Client or svnclient_ra (15% complete): This piece of
sofware will be invoked by the remote helper and will use the libsvn
API (yuck!) to contact a remote server and produce output in dumpfile
format for the exporter component. Jonas has written a software called
rsvndump which already does this [4], but the codebase is too clunky
and outdated (it doesn't use the replay API); I'm therefore attempting
a complete rewrite, and you can find the latest update in a patch in
the second part of this series. Note that the replay API forces a
server version >= 1.5 restriction, but Sverre and I are alright with
this. The cost of backward compatibility is a LOT of ugly code (seen
in rsvndump).
4. The importer (0% complete): I'll probably only get started with
this after the mid-term evaluations.

[1]: http://article.gmane.org/gmane.comp.version-control.git/147716
[2]: http://github.com/artagnon/svn-dump-fast-export
[3]: Commit 9c55c48
[4]: http://github.com/jgehring/rsvndump

-- Ram

Ramkumar Ramachandra (1):
  Add a skeleton RA SVN client

 Makefile       |    2 +
 delta_editor.c |  112 ++++++++++++++++++++++++++++++++++++++++++++++
 delta_editor.h |   66 +++++++++++++++++++++++++++
 svnclient_ra.c |  135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 315 insertions(+), 0 deletions(-)
 create mode 100644 Makefile
 create mode 100644 delta_editor.c
 create mode 100644 delta_editor.h
 create mode 100644 svnclient_ra.c

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [WIP PATCH] The SVN RA client, finally
@ 2010-06-02 13:08 Ramkumar Ramachandra
  2010-06-02 13:08 ` [WIP PATCH] Add a skeleton RA SVN client Ramkumar Ramachandra
  0 siblings, 1 reply; 3+ messages in thread
From: Ramkumar Ramachandra @ 2010-06-02 13:08 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Sverre Rabbelier, Jonathan Nieder, David Michael Barr

The skeleton SVN RA client currently looks like a stripped-down
version of svnsync. It was admittedly very time-consuming and
frustrating to get this far: Hopefully, the actual dumping won't take
too much longer. I've also provided a small Makefile to build and test
this.

Note that I'm developing this on my fork of svn_dump_fast_export, not
on my fork of git.git.

-- Ram

Ramkumar Ramachandra (1):
  Add a skeleton RA SVN client

 Makefile       |    2 +
 svnclient_ra.c |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 115 insertions(+), 0 deletions(-)
 create mode 100644 Makefile
 create mode 100644 svnclient_ra.c

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-06-14 16:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-14 16:19 [GSoC update] git-remote-svn: Week 7 Ramkumar Ramachandra
2010-06-14 16:19 ` [WIP PATCH] Add a skeleton RA SVN client Ramkumar Ramachandra
  -- strict thread matches above, loose matches on Subject: below --
2010-06-02 13:08 [WIP PATCH] The SVN RA client, finally Ramkumar Ramachandra
2010-06-02 13:08 ` [WIP PATCH] Add a skeleton RA SVN client Ramkumar Ramachandra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).