• Show log

    Commit

  • Hash : 4bf630b6
    Author : Russell Belfer
    Date : 2013-10-31T14:36:52

    Make diff and status perform soft index reload
    
    This changes `git_index_read` to have two modes - a hard index
    reload that always resets the index to match the on-disk data
    (which was the old behavior) and a soft index reload that uses
    the timestamp / file size information and only replaces the index
    data if the file on disk has been modified.
    
    This then updates the git_status code to do a soft reload unless
    the new GIT_STATUS_OPT_NO_REFRESH flag is passed in.
    
    This also changes the behavior of the git_diff functions that use
    the index so that when an index is not explicitly passed in (i.e.
    when the functions call git_repository_index for you), they will
    also do a soft reload for you.
    
    This intentionally breaks the file signature of git_index_read
    because there has been some confusion about the behavior previously
    and it seems like all existing uses of the API should probably be
    examined to select the desired behavior.