From 06592cf10208316de39ed508d016fdc0d89323e2ae70ee41fb09838264c65049 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 2 Sep 2025 13:56:59 +0300 Subject: [PATCH] Some additions --- README | 104 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 58 insertions(+), 46 deletions(-) diff --git a/README b/README index 3a2a275..8c452eb 100644 --- a/README +++ b/README @@ -40,39 +40,39 @@ file contains metainformation in recfile format, having at least Root directory should contain *.rec files with the schema of the records. For example: - person.rec: - %rec: person - %key: id - %unique: name - %mandatory: name email - %type: id line - %type: name line - %type: email email - - id: stargrave - name: Сергей Матвеев - email: stargrave@stargrave.org - - task.rec: - %rec: task - %key: id - %mandatory: name created - %unique: name created about result - %allowed: about result ass proj status - %sort: created - %type: id line - %type: name line - %type: created date - %type: ass rec person - %type: proj enum - + c (C99) - + go (Go) - + py (Python3) - + tcl (Tcl) - %type: status enum - + done (task is finished) - + reject - + wip (work in progress) + -- person.rec -- + %rec: person + %key: id + %unique: name + %mandatory: name email + %type: id line + %type: name line + %type: email email + + id: stargrave + name: Сергей Матвеев + email: stargrave@stargrave.org + + -- task.rec -- + %rec: task + %key: id + %mandatory: name created + %unique: name created about result + %allowed: about result ass proj status + %sort: created + %type: id line + %type: name line + %type: created date + %type: ass rec person + %type: proj enum + + c (C99) + + go (Go) + + py (Python3) + + tcl (Tcl) + %type: status enum + + done (task is finished) + + reject + + wip (work in progress) Schema of the issues/tasks must be trailing *.rec file after the sort. @@ -83,21 +83,44 @@ the whole history of changes related to specific issues? Just run git log issue-name! You can edit meta files either manually (it is trivial text-based -human-friendly format) or with recset utility. Add "deps: foo-bar" field +human-friendly format) or with recset utility. Add "dep: foo-bar" field and press "gf" in your Vi editor to go to "foo-bar" directory of the dependant issue. + ------------------------ >8 ------------------------ + "metas" script exports the whole issues database without about/result fields. "show" includes them. "full" also prepends *.rec files to the output. They are expected to be filtered with recsel/recdel utilities. "cd" lists all issues piped to "fzf" utility, that previews each one with "show" script. +Personally I "hash -d" schwabrak's directory to be able to quickly call +commands from it: + + $ hash -d s=~/work/schwabrak + $ cd my/issues + $ ~s/add issue name to create + +To ease the creation of the new issue's directory structure, you can use +"add" command as seen above. And yes, it is intended that "issue" and +"name", "to", "create" can be passed as separate arguments, but +issue-name-to-create will be created as expected. + + ------------------------ >8 ------------------------ + +Person: ~s/schemas | recsel -t person -e 'email ~ "stargrave"' +Unfinished tasks: ~s/metas | recsel -e 'status != "done"' +Full tasks info for person and project: ~s/full | + recsel -t task -e 'ass = "stargrave" && proj = "tcl"' + + ------------------------ >8 ------------------------ + The "comment" issue's file is intended to keep the last comment related to the issue. By committing it you automatically accompany it with your (commit's author) name and the time it was added. - $ cat >issues-name/comment <issue-name/comment <