summaryrefslogtreecommitdiff
path: root/doc.txt
blob: e3fe5fc78172bc9b59f3239f59337675d3416611 (plain) (blame)
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
notevi — read code and take notes; every call is logged in a private jj sidecar.

read a file (line-numbered, relative to a jj revision):
  notevi read FILE                  whole file
  notevi read FILE:120-180          line range (or FILE:120 for one line)
  notevi read -r REV FILE           the file as it is in another jj change

search (regex):
  notevi grep PATTERN [PATH]        search the working copy
  notevi grep -r REV PATTERN PATH   search another change (scope with PATH)

take a note while reading (ids count up from 1 per session):
  notevi note -f FILE:10-42 TEXT...             about a line range
  notevi note -t struct -f FILE:10-42 TEXT...   about a struct/enum/const/fn/...
  notevi note -r REV -f FILE TEXT...            about code in another change
  notevi note -reply 12 TEXT...                 reply to log-wide note #12

notevi query -op note shows both the session-local id and the log-wide id used
by -reply and by the /note/N permalinks in `notevi web`.

REV is any jj revset; default @ (the working copy).
The repo-local revset alias notevi_log names the log change. notevi creates it
lazily as an anonymous child of root(); it never appears in the project working
copy. Every new entry records the full target change id and exact target commit
id. A sidecar left by the older vr tool is renamed in place the first time
notevi writes to it, and an existing repo-root vr-log.jsonl is read and imported
on the first append; notevi leaves that legacy working-tree file for you to
remove after migration.
The sidecar has no bookmark and is deliberately local-only: a fresh clone will
not contain it, so include the jj repository in backups when notes matter.