Sometimes I get a broken patch, apply it and then need to fix it up. git
commit --fixup is perfect for this, but makes me look up the commit that
created the breakage manually. git-fixup is a tool to speed this up.
Several heuristics would be reasonable for locating the problematic
commit:
1. look up the last commit that touched the
file(s) affected by the fixup
2. look up the last commit that touched the
line(s) affected by the fixup
this implements the first heuristic.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
contrib/git-fixup | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100755 contrib/git-fixup
Show changes to contrib/git-fixup +8 −0
diff --git a/contrib/git-fixup b/contrib/git-fixup
new file mode 100755
index 0000000..79f4e34
--- /dev/null
+++ b/contrib/git-fixup
@@ -0,0 +1,8 @@
+if
+ git diff --cached --quiet
+then
+ echo "Nothing to commit!"
+ exit 1
+else
+ git commit --fixup=$(git log --pretty=format:%H -1 $(git diff --cached --name-only)) "$@"
+fi
--
MST