• Duy Nguyen's avatar
    upload-pack: delegate rev walking in shallow fetch to pack-objects · cdab4858
    Duy Nguyen authored
    upload-pack has a special revision 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 6523078b (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 an later patch when
    all given uninteresting commits are marked as edges.
    Signed-off-by: Duy Nguyen's avatarNguyễn Thái Ngọc Duy <[email protected]>
    Signed-off-by: default avatarJunio C Hamano <[email protected]>
    cdab4858
t5530-upload-pack-error.sh 2.11 KB