watchman client libraries are required to make watch root paths canonical [documentation issue]
- Dominant language
- C++
- Stars
- 13.7k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
On linux, I invoke a program that uses watchman with a path like `my-program ./foo`.
By default, how the shell/`my-program` end up passing this to watchman is as `/home/stephen/./foo`. E.g. note the the "noop" `.`.
After upgrading to watchman 4.9.0, it does not like this:
```
watchman error: unable to resolve root /home/stephen/./local-repo: "/home/stephen/./local-repo" resolved to "/home/stephen/local-repo" but we were unable to examine "/home/stephen/./local-repo" using strict case sensitive rules.
```
I'm writing Java, so if I do `path.toFile().getCanonicalFile().toPath()` this strips the noop `./` so path becomes just `/home/stephen/local-repo` and then it works great, so I'm not blocked, but thought I'd file the bug as seems like in theory watchman should not complain about this path, as AFAIU there is no case issues with it.
Contributor guide
Assessment
This issue has not been assessed yet.