Re: [PATCH] receive-pack, fetch-pack: reject bogus pack that records objects twice
From: Shawn Pearce <hidden>
Date: 2016-06-15 22:52:30
On Fri, Nov 18, 2011 at 02:33, Jeff King [off-list ref] wrote:
On Wed, Nov 16, 2011 at 10:04:13PM -0800, Junio C Hamano wrote:quoted
When receive-pack & fetch-pack are run and store the pack obtained over the wire to a local repository, they internally run the index-pack command with the --strict option. Make sure that we reject incoming packfile that records objects twice to avoid spreading such a damage.If we are fixing a thin pack (which should be the case most of the time), we are rewriting the packfile anyway. Shouldn't we just omit the duplicate? I guess I'm a little confused about what is generating these duplicates. A buggy git? A malicious server? Bad luck?
A buggy Git. We found a case where JGit could generate duplicate objects in the pack stream during a clone. The resulting client worked... until it tried to do `git gc` or really any sort of `git pack-objects`. In my opinion, a pack should never contain duplicate objects. Its a buggy remote that sends them. What I like about this patch is it stops and tells the user the remote is broken, which it is.