Skip to content
  • Stefan Beller's avatar
    replace-object: check_replace_refs is safe in multi repo environment · c3c36d7d
    Stefan Beller authored and Junio C Hamano's avatar Junio C Hamano committed
    In e1111cef
    
     (inline lookup_replace_object() calls, 2011-05-15) a shortcut
    for checking the object replacement was added by setting check_replace_refs
    to 0 once the replacements were evaluated to not exist. This works fine in
    with the assumption of only one repository in existence.
    
    The assumption won't hold true any more when we work on multiple instances
    of a repository structs (e.g. one struct per submodule), as the first
    repository to be inspected may have no replacements and would set the
    global variable. Other repositories would then completely omit their
    evaluation of replacements.
    
    This reverts back the meaning of the flag `check_replace_refs` of
    "Do we need to check with the lookup table?" to "Do we need to read
    the replacement definition?", adding the bypassing logic to
    lookup_replace_object after the replacement definition was read.
    As with the original patch, delay the renaming of the global variable
    
    Signed-off-by: default avatarStefan Beller <sbeller@google.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    c3c36d7d