{"push_id":1179447118,"size":12,"distinct_size":12,"ref":"refs/heads/copy-task-support-for-symlinks","head":"1fb59dc9630da1a4eda2094fb420ea0ad6b69328","before":"775814e0b5bf5b3ed542256e931228b8c7edde41","commits":[{"sha":"549d2adcb7955ba0ae81d2d83d56db09ac7a92f9","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"Minor up-to-date check refactoring\n\nWhile looking around I noticed some minor problems: swapped\nexpected/actual, redundant precondition checks, comment that didn't\nmatch code.","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/549d2adcb7955ba0ae81d2d83d56db09ac7a92f9"},{"sha":"f655781f20b2477476e3c0aecf36e0c51aa87a6a","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"Tests for symlink timestamp check\n\nThese tests reproduce various flavors of #322.\n\nUpdate tests for symlinks","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/f655781f20b2477476e3c0aecf36e0c51aa87a6a"},{"sha":"f41a02ce2dc1e92d4fd48de5177558ed7bec69b8","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"Read symlink target with GetLastWriteFileUtcTime\n\nFixes #322. If the path passed to\n`NativeMethods.GetLastWriteFileUtcTime` is a symlink, MSBuild will now\nby default return the last write time of the symlink's *target*, not the\nsymlink itself.\n\nThe old behavior returned the last write time of the symlink itself,\nwhich is wrong because it violates the rule of incremental builds: we\nshould only skip a target if we're confident that running the target\nwould produce the same result we already have. Since running the target\nwill probably read the file (through the symlink), the new behavior is\nmore correct.\n\nThe escape-hatch environment variable `MSBUILDUSESYMLINKTIMESTAMP` is\nintroduced in case this causes unforeseen regressions. Normally I\nwouldn't introduce a go-back-to-buggy-behavior flag, but since timestamp\nup-to-date checks are a deep part of MSBuild infrastructure, we're a bit\nnervous about changing their behavior entirely.","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/f41a02ce2dc1e92d4fd48de5177558ed7bec69b8"},{"sha":"391c4ddadff33585d08e927dbfa2847442da3fe6","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"GetLastWriteFileUtcTime in CompareLastWriteTimes\n\nThis method was one of the few in the codebase that looked at a FileInfo\nto compare write-time stamps instead of calling\n`NativeMethodsShared.GetLastWriteFileUtcTime`.","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/391c4ddadff33585d08e927dbfa2847442da3fe6"},{"sha":"9f5fcd1c002728fa8ea05d82e2a662f46252b643","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"Skip symlink tests (they require admin)\n\nSymlink creation on Windows requires admin elevation. We don't currently\nhave a way to conditionally run the test only when elevated, so I'm\nskipping the tests entirely instead.","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/9f5fcd1c002728fa8ea05d82e2a662f46252b643"},{"sha":"651b523f28ac351b96b9d89c50e41c6403e99c52","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"Unify last-write handling in NativeMethodsShared\n\nFor some reason (dating back to 2010), Utilities had its own NativeMethods\nclass that defined a GetLastWriteTimeUtc function. That did the same thing\nas NativeMethodsShared.GetLastWriteFileUtcTime, in the same way, until I\nchanged the latter.\n\nRemoved the unnecessary function in favor of the shared one.","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/651b523f28ac351b96b9d89c50e41c6403e99c52"},{"sha":"ecca59b5bf64b9efbc07444f4f12c932d9a62238","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"Read through symlinks in WinMDExp\n\nGetLastWriteFileUtcTime handles reading through symlinks and nonexistent input files, so it's more appropriate here.\n\nPart of #322.","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/ecca59b5bf64b9efbc07444f4f12c932d9a62238"},{"sha":"347e41f09565e1e1c260208cdc921c26290bb4d0","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"Handle symlinks in GenerateResource\n\nInstead of `FileInfo.LastWriteTime`, use `NativeMethodsShared.GetLastWriteFileUtcTime`. This should unify the behavior of GenerateResource's internal incrementality on the common technique used for #322.\n\nI removed some comments about creating a `FileInfo` as a \"single call to determine presence + modified time\". Conveniently, `GetLastWriteFileUtcTime` does the same thing, with the sentinel value `DateTime.MinValue` representing \"file not found\".","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/347e41f09565e1e1c260208cdc921c26290bb4d0"},{"sha":"a958febfaef90d53abd59783449d344f5d893530","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"Merge remote-tracking branch 'Microsoft/master' into symlink-timestamp-destination\n\nConflicts:\n\tsrc/XMakeBuildEngine/BackEnd/Components/RequestBuilder/TargetUpToDateChecker.cs\n\nUpstream changed to use exception filters, but this codepath calls native\nmethods and doesn't throw on failure, so try/catch blocks shouldn't be\nnecessary here.","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/a958febfaef90d53abd59783449d344f5d893530"},{"sha":"690ca8319a2404a142b59ab744b50d7c3c1abd03","author":{"name":"Rainer Sigwald","email":"20757353435bfe65bb40c39b320327eb58f0ebb4@microsoft.com"},"message":"Merge pull request #648 from rainersigwald/symlink-timestamp-destination\n\nCheck timestamp of symlink target instead of the symlink itself","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/690ca8319a2404a142b59ab744b50d7c3c1abd03"},{"sha":"978dc6126636edad6e2f1f3aa16be240f6d60216","author":{"name":"lrz-hal","email":"f56d772b00cb758fd3e696be5e11affa8da9f077@outlook.com"},"message":"Merge remote-tracking branch 'refs/remotes/Microsoft/master' into copy-task-support-for-symlinks","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/978dc6126636edad6e2f1f3aa16be240f6d60216"},{"sha":"1fb59dc9630da1a4eda2094fb420ea0ad6b69328","author":{"name":"lrz-hal","email":"f56d772b00cb758fd3e696be5e11affa8da9f077@outlook.com"},"message":"create new MSB block 3891-38900\n\nthis have to discuss in pull request","distinct":true,"url":"https://api.github.com/repos/maddin2016/msbuild/commits/1fb59dc9630da1a4eda2094fb420ea0ad6b69328"}]}
{"actor":{"display_login":"maddin2016"}}