• Show log

    Commit

  • Hash : a9528b8f
    Author : Russell Belfer
    Date : 2014-04-14T15:59:48

    Fix core.excludesfile named .gitignore
    
    Ignore rules with slashes in them are matched using FNM_PATHNAME
    and use the path to the .gitignore file from the root of the
    repository along with the path fragment (including slashes) in
    the ignore file itself.  Unfortunately, the relative path to the
    .gitignore file was being applied to the global core.excludesfile
    if that was also named ".gitignore".
    
    This fixes that with more precise matching and includes test for
    ignore rules with leading slashes (which were the primary example
    of this being broken in the real world).
    
    This also backports an improvement to the file context logic from
    the threadsafe-iterators branch where we don't rely on mutating
    the key of the attribute file name to generate the context path.