All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: Git Mailing List <git@vger.kernel.org>,
	David Michael Barr <david.barr@cordelta.com>,
	Sverre Rabbelier <srabbelier@gmail.com>,
	"Shawn O. Pearce" <spearce@spearce.org>,
	Daniel Shahaf <d.s@daniel.shahaf.name>
Subject: Re: [GSoC update extra!] git-remote-svn: Week 8
Date: Thu, 24 Jun 2010 12:39:56 -0500	[thread overview]
Message-ID: <20100624173956.GA1600@burratino> (raw)
In-Reply-To: <1277386408-29943-1-git-send-email-artagnon@gmail.com>

Ramkumar Ramachandra wrote:

> David and I felt that the chatlog was
> valuable enough to go on the Git mailing list for later reference, so
> here it is.

Thanks. :)

> <artagnon> SRabbelier: Background -- I generated a delta dumpfile
> fine. barrbrain's exporter can't build full text from that, and I
> can't do it in my client either. We are looking for some kind of
> filesystem -- the Git store is the answer. Can we import revisions
> one by one through fast-import and ask Git to generate the full
> text?

Ah, this is something I was worried about with respect to persistence.
Git has all the blobs and all the trees, so except for the mapping
between marks, subversion revs, and git revs, svn-fe does not need to
persist much data at all.

Of course, that requires that the fast-import stream is going directly
to git.  fast-import streams can be used by other VCSes, too, but that
problem can be addressed later, I think.

> <barrbrain> so, if you have pipes to fast-import and cat-file
> --batch, can you read-write from the repo safely?
> <SRabbelier> barrbrain: yes, git is concurrency safe
> <barrbrain> what about the timing issue - if I write to fast import
> the blob might be delayed in a buffer somewhere
> <SRabbelier> barrbrain: I think what we'll need to do is to extend
> fast-import to also write the object names to stdout
> <SRabbelier> barrbrain: as soon as it's done writing the object

FWIW, I like the idea.

If you want to keep stdout unpolluted, this could work like

	git fast-import --print-marks=<fd>

We would have to make sure output to the fd is always flushed to
prevent deadlock.

> <barrbrain> I think I've lost track of which pipe goes where

Yeah.

> <SRabbelier> ask Shawn if he's ok with having git-fast-import learn a new '--print-marks' flag
> <SRabbelier> if so, I'll get on that :)

Thanks for the insights.

Regards,
Jonathan

  reply	other threads:[~2010-06-24 17:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-24 13:33 [GSoC update extra!] git-remote-svn: Week 8 Ramkumar Ramachandra
2010-06-24 17:39 ` Jonathan Nieder [this message]
2010-06-24 18:07   ` Jonathan Nieder
2010-06-24 21:32     ` Eric Wong
2010-06-30  1:51     ` Sam Vilain
2010-06-30 12:45       ` Ramkumar Ramachandra
2010-07-01  3:38         ` Sam Vilain
2010-06-30  2:20   ` Sam Vilain

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=20100624173956.GA1600@burratino \
    --to=jrnieder@gmail.com \
    --cc=artagnon@gmail.com \
    --cc=d.s@daniel.shahaf.name \
    --cc=david.barr@cordelta.com \
    --cc=git@vger.kernel.org \
    --cc=spearce@spearce.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.