On Thu, Aug 28, 2008 at 12:03 PM, Felipe Contreras <felipe.contreras@xxxxxxxxx> wrote: > On Thu, Aug 28, 2008 at 8:57 AM, Anand Kumria <wildfire@xxxxxxxxxxx> wrote: >> >> Hi Felipe, >> >> On Mon, 25 Aug 2008 03:45:11 +0300, Felipe Contreras wrote: >> >>> >>> Anyway, very nice tool. It's going much faster (1h) compared to before >>> (1 day). >> >> Will you be submitting this as something for/to contrib? > > Yes, that's the plan. > > However, I still don't have something that creates an exact clone with > fast-import. > > Also, I'm trying different ways to see what would be most efficient. > Right now it's a combination of Ruby + C, but once I get it working > I'll post it to the OE mailing lists to see if it works fine for them > too. > > Once the design is good enough I might move everything to C. > > Best regards. Ok, now the basics seem to be working. So I'm uploading some code if anyone wants to take a look. The C code is generating a topologically sorted list of revisions, and storing the relevant information (certs and parents) separately. This code is very fast. It's using GLib and sqlite3, so probably the GLib stuff should be converted to use libgit. http://gist.github.com/8742 The Ruby code takes that input and generates an output suitable for fast-import. It would be tedious to port the parsing stuff to C, but straightforward. http://gist.github.com/8740 A patch for fast-import is required, I already submitted it. Comments? -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html