From: Matthijs Kooijman Date: Wed, 28 Aug 2013 14:52:25 GMT Subject: Re: [PATCH 4/6] upload-pack: delegate rev walking in shallow fetch to pack-objects Message-ID: <20130828145225.GE10217@login.drsnuggles.stderr.nl> In-Reply-To: <1376646727-22318-4-git-send-email-pclouds@gmail.com> Hi Nguy, On Fri, Aug 16, 2013 at 04:52:05PM +0700, Nguyễn Thái Ngọc Duy wrote: > upload-pack has a special rev walking code for shallow recipients. It > works almost like the similar code in pack-objects except: > > 1. in upload-pack, graft points could be added for deepening > > 2. also when the repository is deepened, the shallow point will be > moved further away from the tip, but the old shallow point will be > marked as edge to produce more efficient packs. See 6523078 (make > shallow repository deepening more network efficient - 2009-09-03) > > pass the file to pack-objects via --shallow-file. This will override > $GIT_DIR/shallow and give pack-objects the exact repository shape that > upload-pack has. > > mark edge commits by revision command arguments. Even if old shallow > points are passed as "--not" revisions as in this patch, they will not > be picked up by mark_edges_uninteresting() because this function looks > up to parents for edges, while in this case the edge is the children, > in the opposite direction. This will be fixed in the next patch when > all given uninteresting commits are marked as edges. This says "the next patch" but it really refers to 6/6, not 5/6. Patch 6/6 has the same problem (it says "previous patch"). Perhaps patches 4 and 5 should just be swapped? Gr. Matthijs