And uh, now we can act as a true git server, providing fetch and clone support over git:// with our own daemon, or through the use of "git fetch --upload-pack='jgit upload-pack'". Roughly tested by cloning the Linux kernel and WebKit (both about 500 MB packed). Kernel takes a while to enumerate the objects, but eh, it works. :-) Shawn O. Pearce (5): Sort Ref objects by OrigName and not Name Permit subclass of ObjectId (e.g. RevObject) when calling PackWriter Implement "jgit upload-pack" to support fetching from jgit Fix BaseFetchPackConnection's output of selected capabilities Switch local fetch connection to use our own UploadPack .../services/org.spearce.jgit.pgm.TextBuiltin | 1 + .../src/org/spearce/jgit/pgm/UploadPack.java | 67 +++ .../src/org/spearce/jgit/lib/PackWriter.java | 94 +++- .../src/org/spearce/jgit/lib/RefComparator.java | 2 +- .../spearce/jgit/transport/BasePackConnection.java | 3 +- .../jgit/transport/BasePackFetchConnection.java | 4 + .../jgit/transport/BasePackPushConnection.java | 2 +- .../src/org/spearce/jgit/transport/Daemon.java | 36 ++- .../org/spearce/jgit/transport/PacketLineOut.java | 19 +- .../jgit/transport/SideBandInputStream.java | 6 +- .../jgit/transport/SideBandOutputStream.java | 93 ++++ .../jgit/transport/SideBandProgressMonitor.java | 150 ++++++ .../org/spearce/jgit/transport/TransportLocal.java | 96 ++++- .../src/org/spearce/jgit/transport/UploadPack.java | 491 ++++++++++++++++++++ 14 files changed, 1018 insertions(+), 46 deletions(-) create mode 100644 org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/UploadPack.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/transport/SideBandOutputStream.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/transport/SideBandProgressMonitor.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/transport/UploadPack.java -- 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