Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 323406

Summary: JGit does not properly do 'thin' transfers over SSH
Product: [Technology] JGit Reporter: cliff
Component: JGitAssignee: Project Inbox <jgit.core-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3 CC: caniszczyk, cliff, sop, stefan.lay
Version: 0.8.1   
Target Milestone: 0.11   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description cliff CLA 2010-08-23 12:18:45 EDT
Build Identifier: Command line jgit

Using the --thin option doesn't work. Changing 1 byte in a 10 MB file results in all 10 MB being pushed again using SSH protocol.


Reproducible: Always

Steps to Reproduce:
1. Add / commit 10 MB file to local repository
2. Use JGit with --thin to push to remote via SSH (JGit takes several seconds)
3. Use hex editor to change 1 byte at the beginning of 10 MB file
4. Commit to local repository
5. Use JGit with --thin to push to remote via SSH (JGit still takes several seconds)

Bandwidth monitor shows 10 MB being transferred in step 4. With C git, only 462 bytes are transferred.
Comment 1 cliff CLA 2010-08-23 12:19:39 EDT
This was with the 0.8.4 release.
Comment 2 Shawn Pearce CLA 2011-02-04 08:40:40 EST
I'm pretty sure this is fixed in commit 13bcf05a9ea2d4943faef2c879aac65d37517eb6, which will be in 0.11.  The thin pack generation didn't construct the delta bases into the delta window correctly, missing a lot of opportunities for delta compression.