1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
```text
Usage: whenwasit [options] PATH
```
little thing meant to be called in a git-hook as to keep track of
file creation and modification dates, which are important to me.
dumps csv output on stdout, errors abort with a panic
*(this will be fixed later)*.
Use the `--format` flag *(`-f`)* to switch between outputting
`json` or `csv`. the default is `csv`.
The flag `--ignore` can be used to ignore paths relative to
the one whenwasit was given. See [.whenwasit-ignore](whenwasit-ignore)
as an example.
For an example on how you might use whenwasit as a git hook, see
[pre-commit](pre-commit). It runs whenwasit before commit,
makes the file [times.csv](times.csv), and adds it to the commit.
**CSV Output Definition:**
because there are varying ways to make a CSV, it's described in detail below.
- there is no header; the first row is data
- the data rows are in the format `path,btime,mtime,atime`
- `path`: file path relative to the root that was provided on the command line
- `btime`: time of file creation; birth time
- `mtime`: time file was last modified
- `atime`: time file was last accessed
- if the `path` contains a comma (`,`) or a backslash (`\`), it is escape with a backslash
- if any one of the time cannot be attained, the field is left empty.
**behavior:**
prints a row for the current directory, a row for each file, and
then goes into each directory recursively.
this results in reading the directory twice as to not cache the
directory listings in memory.
|