git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[GSoC update] git-remote-svn: Week 7

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
Jun 14, 2010, 16:19 UTC
Message-ID
<1276532364-6993-1-git-send-email-artagnon@gmail.com>
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
Next: Ramkumar Ramachandra
Message 1 of 2 in “[GSoC update] git-remote-svn: Week 7”
  1. Ramkumar RamachandraJun 14, 2010
  2. Add a skeleton RA SVN clientRamkumar Ramachandra, Jun 14, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.