Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: gittup/tup
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: nmlgc/tup
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: win32-real-attribute-tracking
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 1 file changed
  • 1 contributor

Commits on Jul 8, 2024

  1. dllinject: Track actual attribute writes instead of the requesting flag

    Opening a file with the `FILE_WRITE_ATTRIBUTES` access right merely *requests*
    write access to attributes, and does not constitute a write in itself.
    Previously, this caused issues with tools that need to specify this flag for
    whatever reason, but didn't actually write or change the attributes of the
    files they opened with this flag. If those tools lie outside the source tree,
    Tup will in fact delete all of these files, forcing you to either reinstall the
    tool or recover the missing files from a backup. (Thankfully, write-protecting
    the compiler's directory prevents this from succeeding!)
    
    This change should still address the node.js use case that initially prompted
    the check for `FILE_WRITE_ATTRIBUTES` in c7160c8. I couldn't find a definitive
    list of everything that counts as "attributes", but it does seem to be limited
    to the timestamps and attribute bits covered by the `FILE_BASIC_INFORMATION`
    structure.
    nmlgc committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    f98926c View commit details
    Browse the repository at this point in the history
Loading