facebook / facebook/watchman

watchman client libraries are required to make watch root paths canonical [documentation issue]

Open
#533 4 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.