Skip to content
  • Stefan Beller's avatar
    replace-objects: evaluate replacement refs without using the object store · 006f3f28
    Stefan Beller authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    Pass DO_FOR_EACH_INCLUDE_BROKEN when iterating over replacement refs
    so that the iteration does not require opening the named objects from
    the object store. This avoids a dependency cycle between object access
    and replace ref iteration.
    
    Moreover the ref subsystem has not been migrated yet to access the
    object store via passed in repository objects.  As a result, without
    this patch, iterating over replace refs in a repository other than
    the_repository it produces errors:
    
       error: refs/replace/3afabef75c627b894cccc3bcae86837abc7c32fe does not point to a valid object!
    
    Noticed while adapting the object store (and in particular its
    evaluation of replace refs) to handle arbitrary repositories.
    
    Signed-off-by: default avatarStefan Beller <sbeller@google.com>
    Signed-off-by: default avatarJonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    006f3f28