-
Bruce Dawson authored
Slashes and backslashes are interchangeable on Windows in many contexts. But not all. In particular, if you add a path to a dictionary and then try looking it up with an equivalent path that has different slashes then - not surprisingly - the lookup will fail. Therefore it is important to always use slashes when populating _paths_to_owners. This is now done, and documented. Additionally, while fnmatch.fnmatch handles comparing slash separated paths to backslash separated paths, fnmatch.translate does not. This is arguably a bug in fnmatch.translate, or at least something that should be documented. This bug is worked around by having _fnmatch sanitize file names to always use slashes, and asserting that the patterns do not contain backslashes. With these changes this command: git cl owners --ignore-current --show-all chrome/browser/BUILD.gn now correctly gives the same results as this command on Windows: git cl owners --ignore-current --show-all chrome\browser\BUILD.gn The modified test fails without the other changes, passes with them. Bug: 1009104 Change-Id: I416c7131281f00e352c1d2b85c30fcc463417fa5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1915410 Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
7a0b07a8