• J
    git repack: keep commits hidden by a graft · 7f3140cd
    Johannes Schindelin 提交于
    When you have grafts that pretend that a given commit has different
    parents than the ones recorded in the commit object, it is dangerous
    to let 'git repack' remove those hidden parents, as you can easily
    remove the graft and end up with a broken repository.
    
    So let's play it safe and keep those parent objects and everything
    that is reachable by them, in addition to the grafted parents.
    
    As this behavior can only be triggered by git pack-objects, and as that
    command handles duplicate parents gracefully, we do not bother to cull
    duplicated parents that may result by using both true and grafted
    parents.
    Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    7f3140cd
cache.h 33.6 KB