aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2019-11-03 03:37:55 +0100
committerTeddy Wing2019-11-03 03:37:55 +0100
commit3507f0c1540871ea815359b16ccf23af79bd8e30 (patch)
tree82d78ff7ccb42370d4587d2d1643670cecdf38b0
downloadgit-todo-3507f0c1540871ea815359b16ccf23af79bd8e30.tar.bz2
Ideas for getting recent TODOs from a range of Git refs
The goal will be to list all TODOs since the branch point. Additionally, there should be an option to print the TODOs with file names and line numbers to enable loading the list into Vim's quickfix list.
-rwxr-xr-xgit-oldest-ancestor16
-rwxr-xr-xgit-todos20
2 files changed, 36 insertions, 0 deletions
diff --git a/git-oldest-ancestor b/git-oldest-ancestor
new file mode 100755
index 0000000..57db44d
--- /dev/null
+++ b/git-oldest-ancestor
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# git-oldest-ancestor
+#
+# Finds the branch point of the current HEAD.
+#
+# From lindes (https://stackoverflow.com/users/313756/lindes) on Stack Overflow
+# https://stackoverflow.com/questions/1527234/finding-a-branch-point-with-git/4991675#4991675
+# https://stackoverflow.com/questions/1527234/finding-a-branch-point-with-git/4991675#comment42897586_4991675
+
+diff \
+ --old-line-format='' \
+ --new-line-format='' \
+ <(git rev-list --first-parent "${1:-master}") \
+ <(git rev-list --first-parent "${2:-HEAD}") |
+ head -1
diff --git a/git-todos b/git-todos
new file mode 100755
index 0000000..8ab96eb
--- /dev/null
+++ b/git-todos
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# Show TODOs since base branch
+
+git diff --diff-filter=a -S'TODO' "$(git oldest-ancestor)"... |
+ egrep --after-context 1 '^\+.*\bTODO\b' |
+ sed 's/^+[[:space:]]*//'
+
+
+# Want:
+# - filename
+# - line number
+
+# Use git blame?
+
+# fgrep -A 1 -n TODO $(git diff --name-only $(git oldest-ancestor)... )
+# ^ not quite the same thing, as it will catch old TODOs in updated files
+
+# https://stackoverflow.com/questions/23298812/python-unified-diff-with-line-numbers-from-both-files
+# diff --unchanged-line-format=' %.2dn %L' --old-line-format="-%.2dn %L" --new-line-format="+%.2dn %L" <(git show @~:app/module/background/nativeMessageManager.js) app/module/background/nativeMessageManager.js