]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
Add script to get modified pages for commit messages
authorAlejandro Colomar <alx.manpages@gmail.com>
Mon, 16 Nov 2020 19:42:18 +0000 (20:42 +0100)
committerMichael Kerrisk <mtk.manpages@gmail.com>
Mon, 16 Nov 2020 20:26:15 +0000 (21:26 +0100)
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>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
scripts/modified_pages.sh [new file with mode: 0755]

diff --git a/scripts/modified_pages.sh b/scripts/modified_pages.sh
new file mode 100755 (executable)
index 0000000..f6c4a6c
--- /dev/null
@@ -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/^, //"