• Antoine Pelisse's avatar
    fast-export: Allow pruned-references in mark file · c4458ecd
    Antoine Pelisse authored
    fast-export can fail because of some pruned-reference when importing a
    mark file.
    
    The problem happens in the following scenario:
    
        $ git fast-export --export-marks=MARKS master
        (rewrite master)
        $ git prune
        $ git fast-export --import-marks=MARKS master
    
    This might fail if some references have been removed by prune
    because some marks will refer to no longer existing commits.
    git-fast-export will not need these objects anyway as they were no
    longer reachable.
    
    We still need to update last_numid so we don't change the mapping
    between marks and objects for remote-helpers.
    Unfortunately, the mark file should not be rewritten without lost marks
    if no new objects has been exported, as we could lose track of the last
    last_numid.
    Signed-off-by: Antoine Pelisse's avatarAntoine Pelisse <apelisse@gmail.com>
    Reviewed-by: Felipe Contreras's avatarFelipe Contreras <felipe.contreras@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    c4458ecd
git-fast-export.txt 5.1 KB