Marek Zawirski <marek.zawirski@xxxxxxxxx> wrote: > At first, some stuff was still missing to produce packs, mostly > raw-data access related and ObjectWalk related. I'm glad it turned out to be so little missing actually. Reusing ObjectWalk saved a lot of code in the pack writer, and for the most part our existing data access structures were already well organized. It is too early to say how the performance is going to work, but object packing with delta reuse can be difficult and I'm happy to see that our abstractions more-or-less supported it. Tuning can come later, once we better understand the code, and have something for end-users to complain (or praise) about. > Finally, we've got some support for pack writing! It's not that > power that C git version offers, but something usable. Delta > generation is not supported. Although we can reuse deltas and objects, > and support all other (I hope) options of git-pack-objects directly or > indirectly, most importantly --thin. > > Pack writing and some other features are tested, seem to work. > > This implementation of packing is not a very valuable thing directly > (achieving efficient storage), however it's a base for enhancements > and can be used for sending packs over net (with some assumptions). > It's more a "repacking" than "packing" tool. Yup. The critical part here is jgit can now format a pack file, which means we can now actually implement native push over the local pipe (to fork+exec'd git-receive-pack) or over SSH. That is one of the major missing features in the Eclipse plugin, so this is a huge milestone for us. Thank you Marek. > So... I'm switching now to push implementation. If time allows, > delta-algorithms will be added later. Yay. Native push protocol support at this point is much more important than delta generation. Although delta generation is one of the key features that makes git so damn efficient it is pointless if we cannot actually communicate with a remote repository to send them our changes. Early adopters of the push support coming from this plugin can at least use it on local area networks, where bandwidth is not (usually) a limiting factor. > 28 files changed, 2258 insertions(+), 73 deletions(-) Nice to see it didn't take that much code either. -- Shawn. -- 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