since
$ watchman since /path/to/dir <clockspec> [patterns]
查找自指定 clockspec 以来,匹配可选模式列表的所有已修改文件。 如果未指定任何模式,则返回所有已修改的文件。
响应包含一个 files
数组,每个元素都是一个对象,其中包含有关文件的信息字段
{
"version": "2.7",
"is_fresh_instance": true,
"clock": "c:80616:59",
"files": [
{
"cclock": "c:80616:1",
"ctime": 1357617635,
"dev": 16777220,
"exists": true,
"gid": 100,
"ino": 20161390,
"mode": 33188,
"mtime": 1357617635,
"name": "argv.c",
"nlink": 1,
"oclock": "c:80616:39",
"size": 1340,
"uid": 100
}
]
}
这些字段应该是不言自明的;它们对应于底层 struct stat
中的字段,但有几个需要特别提及
- cclock - “创建”时钟;表示首次观察到此文件的时间的时钟值,或者此文件从已删除状态更改为未删除状态的时钟值。
- oclock - “观察”时钟;表示上次观察到此文件发生更改的时间的时钟值。
- exists - 我们是否认为该文件存在于磁盘上。 如果为 false,则将省略大多数其他字段。
- new - 仅在文件结果是作为基于时间或时钟的查询的一部分生成时设置,例如
since
命令。 如果文件的cclock
值比您指定的时间新,则文件条目标记为new
。 这使您可以更轻松地确定文件是否是新创建的,而无需维护大量状态。