[PATCH v2] Add script to get modified pages for commit msgs

Alejandro Colomar
2020-11-16T19:42:23Z

The script can be used this way:

git commit -sm "$(./scripts/modified_pages.sh): Short commit msg"

And then maybe --amend and add a longer message.

This is especially useful for changes to many pages at once,
usually when running a script to apply some global changes.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
---
scripts/modified_pages.sh | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100755 scripts/modified_pages.sh

diff --git a/scripts/modified_pages.sh b/scripts/modified_pages.sh
new file mode 100755
index 000000000..f6c4a6cea
--- /dev/null
+++ b/scripts/modified_pages.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+## SPDX-License-Identifier: GPL-2.0-only
+########################################################################
+##
+## (C) Copyright 2020, Alejandro Colomar
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License
+## as published by the Free Software Foundation; version 2.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details
+## (http://www.gnu.org/licenses/gpl-2.0.html).
+##
+########################################################################
+##
+## The output of this script is a
+## list of all files with changes staged for commit
+## (basename only if the files are within "man?/"),
+## separated by ", ".
+## Usage:
+## git commit -m "$(./scripts/modified_pages.sh): Short message here"
+##
+
+
+git status \
+|sed "/Changes not staged for commit:/q" \
+|grep -E "^\s*(modified|deleted|new file):" \
+|sed "s/^.*:\s*/, /" \
+|sed "s%man[1-9]/%%" \
+|tr -d '\n' \
+|sed "s/^, //"
--
2.29.2