git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ramkumar Ramachandra <artagnon@gmail.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Git List <git@vger.kernel.org>,
	David Barr <david.barr@cordelta.com>,
	Sverre Rabbelier <srabbelier@gmail.com>
Subject: Re: [RFC PATCH 0/3] Towards a Git-to-SVN bridge
Date: Sat, 15 Jan 2011 13:13:29 +0530	[thread overview]
Message-ID: <20110115074327.GA9277@kytes> (raw)
In-Reply-To: <20110115072211.GB25253@burratino>

Hi Jonathan,

Jonathan Nieder writes:
> Ramkumar Ramachandra wrote:
> 
> > Over the last couple of days, I've been working on a parser that
> > converts a fast-import stream into a SVN dumpfile. So far, it's very
> > rough and works minimally for some common fast-import
> > commands.
> 
> Some early questions:

Thanks for raising these questions. People interested in the project
should find this useful.

>  - what are the design goals?  Is this meant to be super fast?
>    Robust?  Simple?  Why should I be excited about it?[1]

I want it to be a lot like current svn-fe: as you can see, I've
re-used many parsing ideas from it. It has to be atleast as fast as
svnrdump, because I don't want it to bottleneck in the remote helper
pipeline. It has to be simple because it'll give rise to other simple
remote helpers- all the complexity has to be offloaded onto the lower
layers like fast-import/ fast-export, and not onto the developer of
the remote helper.

>  - what subset of fast-import commands is supported?  Is it well
>    enough defined to make a manpage?

Currently, it supports just "commit", "blob", "author", "committer"
and "mark" that appear after a blob. It should support more commands
soon enough- this implementation is just a proof of concept. Also,
Instead of giving it the ability to parse /any/ valid fast-import
stream, I want to simply focus on parsing the stream produced by git
fast-export. That should explain why I'm trying to patch git
fast-export primarily.

>  - does this produce v2 or v3 dumpfiles?

This is one issue I haven't thought about fully yet. I'm currently
thinking of generating a non-deltified dumpfile v3 -- something that
svnrdump will accept. Generating deltas might be an unnecessary
overhead- but as you pointed out yesterday, that clearly needs more
thought.

>  - why would I use this instead of git2svn?  Does git2svn do anything
>    this will not eventually be able to do?  (Not a trick question ---
>    I don't have enough experience with git2svn to tell its strengths
>    and weaknesses.)

git2svn persists blobs in-memory. It's written in Perl and it's
slow. I thought we needed something nicer to be used with a remote
helper, and started writing svn-fi.

> > I've decided to try re-implementing fast-export
> > to eliminate blob marks
> 
> Hopefully "re-implement" means "patch" here. :)

Yep. Just a big one :)

> I can comment on the code but it's probably better if I have a sense
> of the design first (in any event, thanks for sending it).

I haven't had time to clean up the code. Note that it "just works" at
the moment- yes, it's already very very fast :) However, I'm going to
stall the branch and work on fast-export-inline for now.

-- Ram

      reply	other threads:[~2011-01-15  7:42 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-15  6:51 [RFC PATCH 0/3] Towards a Git-to-SVN bridge Ramkumar Ramachandra
2011-01-15  6:51 ` [PATCH 1/3] date: Expose the time_to_tm function Ramkumar Ramachandra
2011-01-15  6:51 ` [PATCH 2/3] vcs-svn: Start working on the dumpfile producer Ramkumar Ramachandra
2011-01-15  7:39   ` Peter Baumann
2011-01-15  8:11     ` Ramkumar Ramachandra
2011-01-15  6:51 ` [PATCH 3/3] Build an svn-fi target in contrib/svn-fe Ramkumar Ramachandra
2011-01-15  7:22 ` [RFC PATCH 0/3] Towards a Git-to-SVN bridge Jonathan Nieder
2011-01-15  7:43   ` Ramkumar Ramachandra [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110115074327.GA9277@kytes \
    --to=artagnon@gmail.com \
    --cc=david.barr@cordelta.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --cc=srabbelier@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).