{"push_id":817818908,"size":1,"distinct_size":1,"ref":"refs/heads/GetFullPath","head":"792c3c5d6dfb13da873fa4bbdd3e0f4e6e4d843f","before":"d60cdad38afe514fd645b29367f3603583d65321","commits":[{"sha":"792c3c5d6dfb13da873fa4bbdd3e0f4e6e4d843f","author":{"email":"2759c0c7f2495c404bad3d47ad4dd5af00f04c61@microsoft.com","name":"Jeremy Kuhne"},"message":"Address perf for GetFullPath and defer to OS.\n\nThis change attempts to limit the number of allocations made when evaluating\nfull paths. This is particularly important when Windows paths can be way over\nthe historical max of 260 characters. (The new max is over 32K)\n\nWe no longer kick paths in Windows that are valid, outside of paths with colons\nthat are not directory separators. (This has the effect of blocking alternate\ndata stream access- which is a legacy behavior.)\n\nWhen creating directories, we still drop the trailing separator, which causes\ntrailing whitespace to be trimmed. This makes it particularly difficult to create\npaths with trailing spaces in .NET, which is still desirable as most code has\na tough time dealing with this scenario. We'll open them fine now, which hits\nthe above point of not kicking valid legacy paths (paths that don't require\nextended syntax).\n\nSeveral simplifications to the logic were made, including moving relative segment\nevaluation to shared code and calling it directly when getting directory names\nrather than relying on the not-so-obvious prior behavior of GetFullPath without\n\"full checks\".","distinct":true,"url":"https://api.github.com/repos/JeremyKuhne/corefx/commits/792c3c5d6dfb13da873fa4bbdd3e0f4e6e4d843f"}]}