All of lore.kernel.org
 help / color / mirror / Atom feed
From: Han-Wen Nienhuys <hanwen@xs4all.nl>
To: git@vger.kernel.org
Subject: Re: [WIP PATCH] Add 'git fast-export', the sister of 'git fast-import'
Date: Thu, 22 Nov 2007 22:27:46 -0200	[thread overview]
Message-ID: <fi5743$32p$1@ger.gmane.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0711210336210.27959@racer.site>

Johannes Schindelin escreveu:
> [WIP: this does not handle tags yet, and it lacks a test script
>  as well as documentation.]
> 
> This program dumps (parts of) a git repository in the format that
> fast-import understands.
> 
> For clarity's sake, it does not use the 'inline' method of specifying
> blobs in the commits, but builds the blobs before building the commits.B
> 
> ---
> 	I am way too tired now to continue, but maybe someone else wants
> 	to pick up the ball.
> 
> 	Oh, and it relies on "int" being castable to void * and vice 
> 	versa.  Is anybody aware of a platform where this can lead to
> 	problems?
> 
> 	And yes, I will add a copyright when I woke up again.

This one seems to setup a dump of a single branch from the command
line, which then follows the commit structure.  Am I missing
something?

The cool thing about git-fast-import is that it reads from stdin, has
a very easy to use programmatic interface, and does not impose any
order on how you enter the information.

This doesn't seem to be mirrored by this script? 

I am working on a script for [company] which uses git.  Git is a pain
to script for: for every query I need to invoke another git process,
with another command (log, show-ref, cat-file, show, etc.), parse
another output format and/or specify another --pretty=format:%blah
format.

Besides being a nuisance, I actually run git on NFS, and every git
process has to go to NFS a couple times to retrieve the same
information. This has a noticeable performance impact.

It would make my life a lot easier if I could simply open a pipe to a
single process for the duration of the script, and do all my queries
to this one process.  Of course, if the repository is changed by
another process, I would have to restart it, but that's manageable.  I
could even write a nice Python class that runs both fast-import and
fast-export. I could then have an efficient Python interface to a
git-repository, without needing any library wrapping.

--
 Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen

  parent reply	other threads:[~2007-11-23  0:36 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-21  3:40 [WIP PATCH] Add 'git fast-export', the sister of 'git fast-import' Johannes Schindelin
2007-11-21  7:44 ` Johannes Sixt
2007-11-21  7:47   ` Shawn O. Pearce
2007-11-21 14:01   ` Johannes Schindelin
2007-11-21 15:09     ` Andreas Ericsson
2007-11-21 15:47       ` Johannes Schindelin
2007-11-21 15:53         ` Andreas Ericsson
2007-11-21 12:43 ` Geert Bosch
2007-11-21 14:42   ` Johannes Schindelin
2007-11-23  0:27 ` Han-Wen Nienhuys [this message]
2007-11-23  1:01   ` Johannes Schindelin
2007-11-23  1:23     ` Han-Wen Nienhuys
2007-11-23  2:11       ` Johannes Schindelin
2007-11-23 20:59         ` Shawn O. Pearce
2007-11-25 17:00           ` Karl Hasselström
2007-11-26 16:48             ` Johannes Schindelin
2007-11-27 10:16               ` Karl Hasselström
2007-11-27 11:25                 ` Johannes Schindelin
2007-11-27 14:51                   ` Karl Hasselström
2007-11-27 15:10                     ` Johannes Schindelin
2007-11-26 16:47           ` Johannes Schindelin
2007-11-23 12:31 ` Nguyen Thai Ngoc Duy
2007-11-23 14:31   ` Johannes Schindelin
2007-11-23 20:56     ` Shawn O. Pearce
2007-11-24 14:08     ` Nguyen Thai Ngoc Duy
2007-11-27 12:16       ` Johannes Schindelin
2007-11-27 14:17         ` Nguyen Thai Ngoc Duy

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='fi5743$32p$1@ger.gmane.org' \
    --to=hanwen@xs4all.nl \
    --cc=git@vger.kernel.org \
    /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.