レポートを実行するための
6689 ワード
パーソナルナレッジマネジメントシステム
Using a File as a Template in Emacsでは、私の監督が書いてくれた週のレポートの終わりについて書きました.私は、私がそのレポートを記入するのを助けるために、私が使用するスクリプトの1つで少し拡大したいです.
脚本
以下のスクリプトは、私が週レポートの終わりを書くのを手伝うために使う道具の一つです.それはForem code baseを考慮するだけです.
cd ~/git/forem ;
echo "Authored PRs Merged Since 2022-03-25\n"
git log --since=2022-03-25 \
--format="%h — %s %an, (%cs) %d" \
--author="(Suzanne A|Jeremy F|Arit A|Dwight S|Anna B)"\
| rg "— ([^\(]+) \(\#(\d+)\) ([^,]+)," --only-matching -r '- $1 :: forem/forem#$2 $1' \
| sort
echo "\nCo-authored PRs Merged Since 2022-03-25\n"
git log --since=2022-03-25 \
--grep="Co-authored-by: (Suzanne A|Jeremy F|Arit A|Dwight S|Anna B)" \
--format="%(trailers:key=Co-authored-by,separator=%x2C,valueonly=true) :: %s" \
| rg "^([^<]+) <.*> :: ([^\(]+) \(\#(\d+)\)" --only-matching -r '- $1 :: forem/forem#$3 $2' \
| sort
上記のスクリプトでは2つのセクションがあります.どこでスクリプトをファイルするか?
一週間か二週間、私は上記のスクリプトの簡単なバージョンを実行していた私は私のシェルコマンド履歴を検索し、右見たものを見つけ、日付を調整します.
それは働いたが、私はそのワークフローに依存しないことを好む.私は、スクリプトを私のContent - Experience Podのorg Roam Nodeに加えました;私のPKMシステムの一部であるドキュメント.
以下にそのドキュメントの内容を示します:
#+Begin_src sh :results output :cmdline (org-read-date)
cd ~/git/forem ;
echo "Authored PRs Merged Since $1\n"
git log --since=$1 \
--format="%h — %s %an, (%cs) %d" \
--author="(Suzanne A|Jeremy F|Arit A|Dwight S|Anna B)"\
| rg "— ([^\(]+) \(\#(\d+)\) ([^,]+)," --only-matching -r '- $3 :: forem/forem#$2 $1' \
| sort
echo "\nCo-authored PRs Merged Since $1\n"
git log --since=$1 \
--grep="Co-authored-by: (Suzanne A|Jeremy F|Arit A|Dwight S|Anna B)" \
--format="%(trailers:key=Co-authored-by,separator=%x2C,valueonly=true) :: %s" \
| rg "^([^<]+) <.*> :: ([^\(]+) \(\#(\d+)\)" --only-matching -r '- $1 :: forem/forem#$3 $2' \
| sort
#+end_src
私がorgモードのBabel構文を使用してそれを書いたので、それは少し異なります.最初の行(例えば
#+Begin_src sh :results output :cmdline (org-read-date)
)が宣言されます.sh
構文output
として結果を書くためにスクリプトに
(org-read-date)
として$1
の結果を通過する残りの行は、私が以前書いたもののほぼ同じです2022 - 03 - 25の「ハードコードされた」日付の代わりに、私は
org-read-date
機能の結果を使用しています.レポートを実行するには、そのコードブロックのポイント(たとえばカーソル)を設定し、
C-c C-c
を入力し、EmacsがBabelブロックを評価します.まず、
org-read-date
関数を呼び出し、日付を選択するよう促します.シェルコマンドを実行します.の結果を出力します.そこから、私のチームが今週した仕事の一面を見ることができます.
結論
Emacsとorgモードを採用する前に、私はこれをどこに置くべきか迷っていました.それは私のシェルの歴史に残っているでしょう.
しかし、今、私は人々のグループでこれを連想させたので、以下の一時的なファイルでそれを書いて、それについて書きました、私はより多くのそれの存在とそれが何をしたかについて覚えていそうです.
私は、Gitのコミットトレーラーとコミットの共同著者を見つける方法について学びました.それは、人々が他の人が彼らの引き要求を合併させるのを助けるために、人々がする仕事を見えるようにするのを助けます.
私もBabelから引数を渡すスクリプトを実行するスクリプトについてもう少し学びました.
そして最後に、私は私のPKMシステムでこのブログの記事を書いたので、私は、公開されたブログ記事からコンテンツ体験ポッドに参考文献を持っています.
言い換えれば、私は私が書いたスクリプトの詳細を見つけるためにパン粉くずを作成するために最善を尽くしています.
Reference
この問題について(レポートを実行するための), 我々は、より多くの情報をここで見つけました https://dev.to/jeremyf/org-mode-git-logs-and-org-babel-for-running-reports-1bdeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol