They're bash/shell- and bin-dependent commands rather than Git commands. I use Nushell.
Transformed to Nushell commands:
The 20 most-changed files in the last year: git log --format=format: --name-only --since="1 year ago" | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20
Who Built This: git shortlog -sn --no-merges git shortlog -sn --no-merges --since="6 months ago"
Where Do Bugs Cluster: git log -i -E --grep="fix|bug|broken" --name-only --format='' | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20
Is This Project Accelerating or Dying: git log --format='%ad' --date=format:'%Y-%m' | lines | str trim | where (is-not-empty) | uniq --count
How Often Is the Team Firefighting: git log --oneline --since="1 year ago" | find --ignore-case --regex 'revert|hotfix|emergency|rollback'
/edit: Looks like the lines have whitespace or sth. Replaced lines --skip-empty with lines | str trim | where (is-not-empty).
6 Comments
pageflight@piefed.social · 28 pts · 125d
Gonna have to try that out. I think it would have told interesting stories on some past repos.
I wish ''co-authored by AI' was easy to flag in vcs.
olafurp@lemmy.world · 3 pts · 123d
This is going into my bashrc as a mini cli. I'm pretty sure I'm going to want to run this every time I change jobs.
87Six@lemmy.zip · 11 pts · 123d
This would have no effect in my team where everyone does whatever they want in git lol
xSikes@feddit.online · 8 pts · 125d
Super cool
Kissaki@programming.dev · 3 pts · 122d
They're bash/shell- and bin-dependent commands rather than Git commands. I use Nushell.
Transformed to Nushell commands:
git log --format=format: --name-only --since="1 year ago" | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20git shortlog -sn --no-mergesgit shortlog -sn --no-merges --since="6 months ago"git log -i -E --grep="fix|bug|broken" --name-only --format='' | lines | str trim | where (is-not-empty) | uniq --count | sort-by count --reverse | take 20git log --format='%ad' --date=format:'%Y-%m' | lines | str trim | where (is-not-empty) | uniq --countgit log --oneline --since="1 year ago" | find --ignore-case --regex 'revert|hotfix|emergency|rollback'/edit: Looks like the lines have whitespace or sth. Replaced
lines --skip-emptywithlines | str trim | where (is-not-empty).::: spoiler command aliases
:::
aivoton@sopuli.xyz · 1 pts · 123d
Ahh the famous git commands such as sort, uniq, head, and grep.