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

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

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

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

vr query -op note shows both the session-local id and the log-wide id used by
-reply and vrsite /note/N permalinks.

REV is any jj revset; default @ (the working copy).
The repo-local revset alias vr_log names the log change. vr 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.
An existing repo-root vr-log.jsonl is read and imported on the first append;
vr 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.