This is convention in Plan 9 and e.g. the plumber will reformat the rules this way when they are read back via `9p read plumb/rules`. Change-Id: I53543d774c11789c8352e2e632678313037c5555 Reviewed-on: https://cl.tvl.fyi/c/depot/+/13048 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
78 lines
2 KiB
Text
78 lines
2 KiB
Text
# TODO(sterni): document TVL short links,
|
|
# for now see //tools/cheddar, //web/atward, //tools/magrathea
|
|
# and //ops/modules/monorepo-gerrit.
|
|
|
|
# TVL short links that go to the browser, e.g. cl/8413, b/187
|
|
|
|
type is text
|
|
data matches 'cl/([0-9]+)'
|
|
data set https://cl.tvl.fyi/c/depot/+/$1
|
|
plumb to web
|
|
plumb start web $data
|
|
|
|
type is text
|
|
data matches 'b/([0-9]+)'
|
|
data set https://b.tvl.fyi/issues/$1
|
|
plumb to web
|
|
plumb start web $data
|
|
|
|
# TVL revision short links e.g. r/9000, r/3
|
|
|
|
type is text
|
|
data matches 'r/([0-9]+)'
|
|
data set refs/r/$1
|
|
plumb start rc -c 'cd '$wdir'; cd `{git rev-parse --show-toplevel} && git show --pretty=fuller '$data' | plumb -i -d edit -a ''action=showdata filename=+git/'$data''' '
|
|
|
|
# TVL target short links
|
|
|
|
# TODO(sterni): implement subtargets
|
|
# TODO(sterni): can we add an acme address to target paths somehow?
|
|
|
|
# TODO(sterni): look at //tools/magrathea's parsing.
|
|
# TODO(sterni): only be strict at the boundary
|
|
depotpathchar = '[^:.,;!?"''`|~(){}\[\]<> ]'
|
|
depotpath = '//('$depotpathchar'+)'
|
|
|
|
# TVL short links to files in depot, open in local editor, e.g.
|
|
#
|
|
# - //users/sterni/acme/plumb/tvl,
|
|
# - //default.nix,
|
|
# - //nix/readTree/README.md,
|
|
# - //tools/magrathea/mg.scm
|
|
#
|
|
# We impose the same restrictions for the initial path,
|
|
# but are liberal in the file name
|
|
|
|
type is text
|
|
data matches '//('$depotchar'+/)?([^ ]*'$depotpathchar')'
|
|
arg isfile $depot/$1$2
|
|
data set $file
|
|
plumb to edit
|
|
plumb client $editor
|
|
|
|
# TVL short links to directories in depot, mapped to default.nix, e.g. //nix/readTree
|
|
|
|
type is text
|
|
data matches $depotpath
|
|
arg isfile $depot/$1/default.nix
|
|
data set $file
|
|
plumb to edit
|
|
plumb client $editor
|
|
|
|
# TVL short links to targets that aren't expressed by default.nix, e.g. //third_party/lisp/alexandria
|
|
|
|
type is text
|
|
data matches $depotpath
|
|
arg isfile $depot/$1.nix
|
|
data set $file
|
|
plumb to edit
|
|
plumb client $editor
|
|
|
|
# TVL short links to directories in depot (without default.nix), e.g. //ops/machines
|
|
|
|
type is text
|
|
data matches $depotpath
|
|
arg isdir $depot/$1
|
|
data set $dir
|
|
plumb to edit
|
|
plumb client $editor
|