• Show log

    Commit

  • Hash : 316b820b
    Author : Carlos Martín Nieto
    Date : 2015-06-15T09:55:40

    index: zero the size of racily-clean entries
    
    If a file entry has the same timestamp as the index itself, it is
    considered racily-clean, as it may have been modified after the index
    was written, but during the same second. We take extra steps to check
    the contents, but this is just one part of avoiding races.
    
    For files which do have changes but have not been updated in the index,
    updating the on-disk index means updating its timestamp, which means we
    would no longer recognise these entries as racy and we would trust the
    timestamp to tell us whether they have changed.
    
    In order to work around this, git zeroes out the file-size field in
    entries with the same timestamp as the index in order to force the next
    diff to check the contents. Do so in libgit2 as well.