* [PATCH v4 01/10] release.sh: add signing and fix outdated commands
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 02/10] release.sh: add --kup to upload release tarball to kernel.org Andrey Albershteyn
` (8 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Darrick J. Wong, Andrey Albershteyn
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
---
release.sh | 29 ++++++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-)
diff --git a/release.sh b/release.sh
index 577257a354d442e1cc0a2b9381b11ffbe2f64a71..b15ed610082f34928827ab0547db944cf559cef4 100755
--- a/release.sh
+++ b/release.sh
@@ -9,6 +9,8 @@
# configure.ac (with new version string)
# debian/changelog (with new release entry, only for release version)
+set -e
+
. ./VERSION
version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
@@ -16,21 +18,38 @@ date=`date +"%-d %B %Y"`
echo "Cleaning up"
make realclean
+rm -rf "xfsprogs-${version}.tar" \
+ "xfsprogs-${version}.tar.gz" \
+ "xfsprogs-${version}.tar.asc" \
+ "xfsprogs-${version}.tar.sign"
echo "Updating CHANGES"
sed -e "s/${version}.*/${version} (${date})/" doc/CHANGES > doc/CHANGES.tmp && \
mv doc/CHANGES.tmp doc/CHANGES
echo "Commiting CHANGES update to git"
-git commit -a -m "${version} release"
+git commit --all --signoff --message="xfsprogs: Release v${version}
+
+Update all the necessary files for a v${version} release."
echo "Tagging git repository"
-git tag -a -m "${version} release" v${version}
+git tag --annotate --sign --message="Release v${version}" v${version}
echo "Making source tarball"
make dist
+gunzip -k "xfsprogs-${version}.tar.gz"
-#echo "Sign the source tarball"
-#gpg --detach-sign xfsprogs-${version}.tar.gz
+echo "Sign the source tarball"
+gpg \
+ --detach-sign \
+ --armor \
+ "xfsprogs-${version}.tar"
-echo "Done. Please remember to push out tags using \"git push --tags\""
+echo "Verify signature"
+gpg \
+ --verify \
+ "xfsprogs-${version}.tar.asc"
+
+mv "xfsprogs-${version}.tar.asc" "xfsprogs-${version}.tar.sign"
+
+echo "Done. Please remember to push out tags using \"git push origin v${version}\""
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v4 02/10] release.sh: add --kup to upload release tarball to kernel.org
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 01/10] release.sh: add signing and fix outdated commands Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 03/10] release.sh: update version files make commit optional Andrey Albershteyn
` (7 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Darrick J. Wong, Andrey Albershteyn
Add kup support so that the maintainer can push the newly formed
release tarballs to kernel.org.
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
---
release.sh | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/release.sh b/release.sh
index b15ed610082f34928827ab0547db944cf559cef4..b036c3241b3f67bfb2435398e6a17ea4c6a6eebe 100755
--- a/release.sh
+++ b/release.sh
@@ -16,6 +16,30 @@ set -e
version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
date=`date +"%-d %B %Y"`
+KUP=0
+
+help() {
+ echo "$(basename) - create xfsprogs release"
+ printf "\t[--kup|-k] upload final tarball with KUP\n"
+}
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --kup|-k)
+ KUP=1
+ ;;
+ --help|-h)
+ help
+ exit 0
+ ;;
+ *)
+ >&2 printf "Error: Invalid argument\n"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
echo "Cleaning up"
make realclean
rm -rf "xfsprogs-${version}.tar" \
@@ -52,4 +76,11 @@ gpg \
mv "xfsprogs-${version}.tar.asc" "xfsprogs-${version}.tar.sign"
+if [ $KUP -eq 1 ]; then
+ kup put \
+ xfsprogs-${version}.tar.gz \
+ xfsprogs-${version}.tar.sign \
+ pub/linux/utils/fs/xfs/xfsprogs/
+fi;
+
echo "Done. Please remember to push out tags using \"git push origin v${version}\""
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v4 03/10] release.sh: update version files make commit optional
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 01/10] release.sh: add signing and fix outdated commands Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 02/10] release.sh: add --kup to upload release tarball to kernel.org Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 04/10] Add git-contributors script to notify about merges Andrey Albershteyn
` (6 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Darrick J. Wong, Andrey Albershteyn
Based on ./VERSION script updates all other files. For
./doc/changelog script asks maintainer to fill it manually as not
all changes goes into changelog.
--no-commit|-n flag is handy when something got into the version commit
and need to be changed manually. Then ./release.sh -c will use fixed
history
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
---
release.sh | 75 ++++++++++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 58 insertions(+), 17 deletions(-)
diff --git a/release.sh b/release.sh
index b036c3241b3f67bfb2435398e6a17ea4c6a6eebe..c3f74bc8dc587a40d867dd22e1e4c6e4aabb8997 100755
--- a/release.sh
+++ b/release.sh
@@ -11,16 +11,33 @@
set -e
-. ./VERSION
-
-version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
-date=`date +"%-d %B %Y"`
-
KUP=0
+COMMIT=1
help() {
echo "$(basename) - create xfsprogs release"
printf "\t[--kup|-k] upload final tarball with KUP\n"
+ printf "\t[--no-commit|-n] don't create release commit\n"
+}
+
+update_version() {
+ echo "Updating version files"
+ # doc/CHANGES
+ header="xfsprogs-${version} ($(date +'%d %b %Y'))"
+ sed -i "1s/^/$header\n\t<TODO list user affecting changes>\n\n/" doc/CHANGES
+ $EDITOR doc/CHANGES
+
+ # ./configure.ac
+ CONF_AC="AC_INIT([xfsprogs],[${version}],[linux-xfs@vger.kernel.org])"
+ sed -i "s/^AC_INIT.*/$CONF_AC/" ./configure.ac
+
+ # ./debian/changelog
+ sed -i "1s/^/\n/" ./debian/changelog
+ sed -i "1s/^/ -- Nathan Scott <nathans@debian.org> `date -R`\n/" ./debian/changelog
+ sed -i "1s/^/\n/" ./debian/changelog
+ sed -i "1s/^/ * New upstream release\n/" ./debian/changelog
+ sed -i "1s/^/\n/" ./debian/changelog
+ sed -i "1s/^/xfsprogs (${version}-1) unstable; urgency=low\n/" ./debian/changelog
}
while [ $# -gt 0 ]; do
@@ -28,6 +45,9 @@ while [ $# -gt 0 ]; do
--kup|-k)
KUP=1
;;
+ --no-commit|-n)
+ COMMIT=0
+ ;;
--help|-h)
help
exit 0
@@ -40,6 +60,36 @@ while [ $# -gt 0 ]; do
shift
done
+if [ -z "$EDITOR" ]; then
+ EDITOR=$(command -v vi)
+fi
+
+if [ $COMMIT -eq 1 ]; then
+ if git diff --exit-code ./VERSION > /dev/null; then
+ $EDITOR ./VERSION
+ fi
+fi
+
+. ./VERSION
+
+version=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
+date=`date +"%-d %B %Y"`
+
+if [ $COMMIT -eq 1 ]; then
+ update_version
+
+ git diff --color=always | less -r
+ [[ "$(read -e -p 'All good? [Y/n]> '; echo $REPLY)" == [Nn]* ]] && exit 0
+
+ echo "Commiting new version update to git"
+ git commit --all --signoff --message="xfsprogs: Release v${version}
+
+Update all the necessary files for a v${version} release."
+
+ echo "Tagging git repository"
+ git tag --annotate --sign --message="Release v${version}" v${version}
+fi
+
echo "Cleaning up"
make realclean
rm -rf "xfsprogs-${version}.tar" \
@@ -47,17 +97,6 @@ rm -rf "xfsprogs-${version}.tar" \
"xfsprogs-${version}.tar.asc" \
"xfsprogs-${version}.tar.sign"
-echo "Updating CHANGES"
-sed -e "s/${version}.*/${version} (${date})/" doc/CHANGES > doc/CHANGES.tmp && \
- mv doc/CHANGES.tmp doc/CHANGES
-
-echo "Commiting CHANGES update to git"
-git commit --all --signoff --message="xfsprogs: Release v${version}
-
-Update all the necessary files for a v${version} release."
-
-echo "Tagging git repository"
-git tag --annotate --sign --message="Release v${version}" v${version}
echo "Making source tarball"
make dist
@@ -83,4 +122,6 @@ if [ $KUP -eq 1 ]; then
pub/linux/utils/fs/xfs/xfsprogs/
fi;
-echo "Done. Please remember to push out tags using \"git push origin v${version}\""
+echo ""
+echo "Done. Please remember to push out tags and the branch."
+printf "\tgit push origin v${version} master:master master:for-next\n"
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v4 04/10] Add git-contributors script to notify about merges
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
` (2 preceding siblings ...)
2025-02-13 20:14 ` [PATCH v4 03/10] release.sh: update version files make commit optional Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 05/10] git-contributors: better handling of hash mark/multiple emails Andrey Albershteyn
` (5 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Darrick J. Wong, Andrey Albershteyn
Add python script used to collect emails over all changes merged in
the next release.
CC: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
---
tools/git-contributors.py | 101 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 101 insertions(+)
diff --git a/tools/git-contributors.py b/tools/git-contributors.py
new file mode 100755
index 0000000000000000000000000000000000000000..70ac8abb26c8ce65de336c5ae48abcfee39508b2
--- /dev/null
+++ b/tools/git-contributors.py
@@ -0,0 +1,101 @@
+#!/usr/bin/python3
+
+# List all contributors to a series of git commits.
+# Copyright(C) 2025 Oracle, All Rights Reserved.
+# Licensed under GPL 2.0 or later
+
+import re
+import subprocess
+import io
+import sys
+import argparse
+import email.utils
+
+DEBUG = False
+
+def backtick(args):
+ '''Generator function that yields lines of a program's stdout.'''
+ if DEBUG:
+ print(' '.join(args))
+ p = subprocess.Popen(args, stdout = subprocess.PIPE)
+ for line in io.TextIOWrapper(p.stdout, encoding="utf-8"):
+ yield line
+
+class find_developers(object):
+ def __init__(self):
+ tags = '%s|%s|%s|%s|%s|%s|%s|%s' % (
+ 'signed-off-by',
+ 'acked-by',
+ 'cc',
+ 'reviewed-by',
+ 'reported-by',
+ 'tested-by',
+ 'suggested-by',
+ 'reported-and-tested-by')
+ # some tag, a colon, a space, and everything after that
+ regex1 = r'^(%s):\s+(.+)$' % tags
+
+ self.r1 = re.compile(regex1, re.I)
+
+ def run(self, lines):
+ addr_list = []
+
+ for line in lines:
+ l = line.strip()
+
+ # emailutils can handle abominations like:
+ #
+ # Reviewed-by: Bogus J. Simpson <bogus@simpson.com>
+ # Reviewed-by: "Bogus J. Simpson" <bogus@simpson.com>
+ # Reviewed-by: bogus@simpson.com
+ # Cc: <stable@vger.kernel.org> # v6.9
+ # Tested-by: Moo Cow <foo@bar.com> # powerpc
+ m = self.r1.match(l)
+ if not m:
+ continue
+ (name, addr) = email.utils.parseaddr(m.expand(r'\g<2>'))
+
+ # This last split removes anything after a hash mark,
+ # because someone could have provided an improperly
+ # formatted email address:
+ #
+ # Cc: stable@vger.kernel.org # v6.19+
+ #
+ # emailutils doesn't seem to catch this, and I can't
+ # fully tell from RFC2822 that this isn't allowed. I
+ # think it is because dtext doesn't forbid spaces or
+ # hash marks.
+ addr_list.append(addr.split('#')[0])
+
+ return sorted(set(addr_list))
+
+def main():
+ global DEBUG
+
+ parser = argparse.ArgumentParser(description = "List email addresses of contributors to a series of git commits.")
+ parser.add_argument("revspec", nargs = '?', default = None, \
+ help = "git revisions to process.")
+ parser.add_argument("--separator", type = str, default = '\n', \
+ help = "Separate each email address with this string.")
+ parser.add_argument('--debug', action = 'store_true', default = False, \
+ help = argparse.SUPPRESS)
+ args = parser.parse_args()
+
+ if args.debug:
+ DEBUG = True
+
+ fd = find_developers()
+ if args.revspec:
+ # read git commits from repo
+ contributors = fd.run(backtick(['git', 'log', '--pretty=medium',
+ args.revspec]))
+ else:
+ # read patch from stdin
+ contributors = fd.run(sys.stdin.readlines())
+
+ print(args.separator.join(sorted(contributors)))
+ return 0
+
+if __name__ == '__main__':
+ sys.exit(main())
+
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v4 05/10] git-contributors: better handling of hash mark/multiple emails
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
` (3 preceding siblings ...)
2025-02-13 20:14 ` [PATCH v4 04/10] Add git-contributors script to notify about merges Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 21:47 ` Darrick J. Wong
2025-02-13 20:14 ` [PATCH v4 06/10] git-contributors: make revspec required and shebang fix Andrey Albershteyn
` (4 subsequent siblings)
9 siblings, 1 reply; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Andrey Albershteyn, Darrick J. Wong
Better handling of hash mark, tags with multiple emails and not
quoted names in emails. See comments in the script.
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
---
tools/git-contributors.py | 109 ++++++++++++++++++++++++++++++++++++++--------
1 file changed, 90 insertions(+), 19 deletions(-)
diff --git a/tools/git-contributors.py b/tools/git-contributors.py
index 70ac8abb26c8ce65de336c5ae48abcfee39508b2..1a0f2b80e3dad9124b86b29f8507389ef91fe813 100755
--- a/tools/git-contributors.py
+++ b/tools/git-contributors.py
@@ -37,35 +37,106 @@ class find_developers(object):
self.r1 = re.compile(regex1, re.I)
+ # regex to guess if this is a list of multiple addresses.
+ # Not sure why the initial "^.*" is needed here.
+ self.r2 = re.compile(r'^.*,[^,]*@[^@]*,[^,]*@', re.I)
+
+ # regex to match on anything inside a pair of angle brackets
+ self.r3 = re.compile(r'^.*<(.+)>', re.I)
+
+ def _handle_addr(self, addr):
+ # The next split removes everything after an octothorpe (hash
+ # mark), because someone could have provided an improperly
+ # formatted email address:
+ #
+ # Cc: stable@vger.kernel.org # v6.19+
+ #
+ # This, according to my reading of RFC5322, is allowed because
+ # octothorpes can be part of atom text. However, it is
+ # interepreted as if there weren't any whitespace
+ # ("stable@vger.kernel.org#v6.19+"). The grammar allows for
+ # this form, even though this is not a correct Internet domain
+ # name.
+ #
+ # Worse, if you follow the format specified in the kernel's
+ # SubmittingPatches file:
+ #
+ # Cc: <stable@vger.kernel.org> # v6.9
+ #
+ # emailutils will not know how to parse this, and returns empty
+ # strings. I think this is because the angle-addr
+ # specification allows only whitespace between the closing
+ # angle bracket and the CRLF.
+ #
+ # Hack around both problems by ignoring everything after an
+ # octothorpe, no matter where it occurs in the string. If
+ # someone has one in their name or the email address, too bad.
+ a = addr.split('#')[0]
+
+ # emailutils can extract email addresses from headers that
+ # roughly follow the destination address field format:
+ #
+ # Reviewed-by: Bogus J. Simpson <bogus@simpson.com>
+ # Reviewed-by: "Bogus J. Simpson" <bogus@simpson.com>
+ # Reviewed-by: bogus@simpson.com
+ #
+ # Use it to extract the email address, because we don't care
+ # about the display name.
+ (name, addr) = email.utils.parseaddr(a)
+ if DEBUG:
+ print(f'A:{a}:NAME:{name}:ADDR:{addr}:')
+ if len(addr) > 0:
+ return addr
+
+ # If emailutils fails to find anything, let's see if there's
+ # a sequence of characters within angle brackets and hope that
+ # is an email address. This works around things like:
+ #
+ # Reported-by: Xu, Wen <wen.xu@gatech.edu>
+ #
+ # Which should have had the name in quotations because there's
+ # a comma.
+ m = self.r3.match(a)
+ if m:
+ addr = m.expand(r'\g<1>')
+ if DEBUG:
+ print(f"M3:{addr}:M:{m}:")
+ return addr
+
+ # No idea, just spit the whole thing out and hope for the best.
+ return a
+
def run(self, lines):
addr_list = []
for line in lines:
l = line.strip()
- # emailutils can handle abominations like:
- #
- # Reviewed-by: Bogus J. Simpson <bogus@simpson.com>
- # Reviewed-by: "Bogus J. Simpson" <bogus@simpson.com>
- # Reviewed-by: bogus@simpson.com
- # Cc: <stable@vger.kernel.org> # v6.9
- # Tested-by: Moo Cow <foo@bar.com> # powerpc
+ # First, does this line match any of the headers we
+ # know about?
m = self.r1.match(l)
if not m:
continue
- (name, addr) = email.utils.parseaddr(m.expand(r'\g<2>'))
+ rightside = m.expand(r'\g<2>')
- # This last split removes anything after a hash mark,
- # because someone could have provided an improperly
- # formatted email address:
- #
- # Cc: stable@vger.kernel.org # v6.19+
- #
- # emailutils doesn't seem to catch this, and I can't
- # fully tell from RFC2822 that this isn't allowed. I
- # think it is because dtext doesn't forbid spaces or
- # hash marks.
- addr_list.append(addr.split('#')[0])
+ n = self.r2.match(rightside)
+ if n:
+ # Break the line into an array of addresses,
+ # delimited by commas, then handle each
+ # address.
+ addrs = rightside.split(',')
+ if DEBUG:
+ print(f"0LINE:{rightside}:ADDRS:{addrs}:M:{n}")
+ for addr in addrs:
+ a = self._handle_addr(addr)
+ addr_list.append(a)
+ else:
+ # Otherwise treat the line as a single email
+ # address.
+ if DEBUG:
+ print(f"1LINE:{rightside}:M:{n}")
+ a = self._handle_addr(rightside)
+ addr_list.append(a)
return sorted(set(addr_list))
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH v4 05/10] git-contributors: better handling of hash mark/multiple emails
2025-02-13 20:14 ` [PATCH v4 05/10] git-contributors: better handling of hash mark/multiple emails Andrey Albershteyn
@ 2025-02-13 21:47 ` Darrick J. Wong
0 siblings, 0 replies; 17+ messages in thread
From: Darrick J. Wong @ 2025-02-13 21:47 UTC (permalink / raw)
To: Andrey Albershteyn; +Cc: linux-xfs, Andrey Albershteyn
On Thu, Feb 13, 2025 at 09:14:27PM +0100, Andrey Albershteyn wrote:
> Better handling of hash mark, tags with multiple emails and not
> quoted names in emails. See comments in the script.
>
> Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
> Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Matches my original git-contributors script, good enough for now
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> tools/git-contributors.py | 109 ++++++++++++++++++++++++++++++++++++++--------
> 1 file changed, 90 insertions(+), 19 deletions(-)
>
> diff --git a/tools/git-contributors.py b/tools/git-contributors.py
> index 70ac8abb26c8ce65de336c5ae48abcfee39508b2..1a0f2b80e3dad9124b86b29f8507389ef91fe813 100755
> --- a/tools/git-contributors.py
> +++ b/tools/git-contributors.py
> @@ -37,35 +37,106 @@ class find_developers(object):
>
> self.r1 = re.compile(regex1, re.I)
>
> + # regex to guess if this is a list of multiple addresses.
> + # Not sure why the initial "^.*" is needed here.
> + self.r2 = re.compile(r'^.*,[^,]*@[^@]*,[^,]*@', re.I)
> +
> + # regex to match on anything inside a pair of angle brackets
> + self.r3 = re.compile(r'^.*<(.+)>', re.I)
> +
> + def _handle_addr(self, addr):
> + # The next split removes everything after an octothorpe (hash
> + # mark), because someone could have provided an improperly
> + # formatted email address:
> + #
> + # Cc: stable@vger.kernel.org # v6.19+
> + #
> + # This, according to my reading of RFC5322, is allowed because
> + # octothorpes can be part of atom text. However, it is
> + # interepreted as if there weren't any whitespace
> + # ("stable@vger.kernel.org#v6.19+"). The grammar allows for
> + # this form, even though this is not a correct Internet domain
> + # name.
> + #
> + # Worse, if you follow the format specified in the kernel's
> + # SubmittingPatches file:
> + #
> + # Cc: <stable@vger.kernel.org> # v6.9
> + #
> + # emailutils will not know how to parse this, and returns empty
> + # strings. I think this is because the angle-addr
> + # specification allows only whitespace between the closing
> + # angle bracket and the CRLF.
> + #
> + # Hack around both problems by ignoring everything after an
> + # octothorpe, no matter where it occurs in the string. If
> + # someone has one in their name or the email address, too bad.
> + a = addr.split('#')[0]
> +
> + # emailutils can extract email addresses from headers that
> + # roughly follow the destination address field format:
> + #
> + # Reviewed-by: Bogus J. Simpson <bogus@simpson.com>
> + # Reviewed-by: "Bogus J. Simpson" <bogus@simpson.com>
> + # Reviewed-by: bogus@simpson.com
> + #
> + # Use it to extract the email address, because we don't care
> + # about the display name.
> + (name, addr) = email.utils.parseaddr(a)
> + if DEBUG:
> + print(f'A:{a}:NAME:{name}:ADDR:{addr}:')
> + if len(addr) > 0:
> + return addr
> +
> + # If emailutils fails to find anything, let's see if there's
> + # a sequence of characters within angle brackets and hope that
> + # is an email address. This works around things like:
> + #
> + # Reported-by: Xu, Wen <wen.xu@gatech.edu>
> + #
> + # Which should have had the name in quotations because there's
> + # a comma.
> + m = self.r3.match(a)
> + if m:
> + addr = m.expand(r'\g<1>')
> + if DEBUG:
> + print(f"M3:{addr}:M:{m}:")
> + return addr
> +
> + # No idea, just spit the whole thing out and hope for the best.
> + return a
> +
> def run(self, lines):
> addr_list = []
>
> for line in lines:
> l = line.strip()
>
> - # emailutils can handle abominations like:
> - #
> - # Reviewed-by: Bogus J. Simpson <bogus@simpson.com>
> - # Reviewed-by: "Bogus J. Simpson" <bogus@simpson.com>
> - # Reviewed-by: bogus@simpson.com
> - # Cc: <stable@vger.kernel.org> # v6.9
> - # Tested-by: Moo Cow <foo@bar.com> # powerpc
> + # First, does this line match any of the headers we
> + # know about?
> m = self.r1.match(l)
> if not m:
> continue
> - (name, addr) = email.utils.parseaddr(m.expand(r'\g<2>'))
> + rightside = m.expand(r'\g<2>')
>
> - # This last split removes anything after a hash mark,
> - # because someone could have provided an improperly
> - # formatted email address:
> - #
> - # Cc: stable@vger.kernel.org # v6.19+
> - #
> - # emailutils doesn't seem to catch this, and I can't
> - # fully tell from RFC2822 that this isn't allowed. I
> - # think it is because dtext doesn't forbid spaces or
> - # hash marks.
> - addr_list.append(addr.split('#')[0])
> + n = self.r2.match(rightside)
> + if n:
> + # Break the line into an array of addresses,
> + # delimited by commas, then handle each
> + # address.
> + addrs = rightside.split(',')
> + if DEBUG:
> + print(f"0LINE:{rightside}:ADDRS:{addrs}:M:{n}")
> + for addr in addrs:
> + a = self._handle_addr(addr)
> + addr_list.append(a)
> + else:
> + # Otherwise treat the line as a single email
> + # address.
> + if DEBUG:
> + print(f"1LINE:{rightside}:M:{n}")
> + a = self._handle_addr(rightside)
> + addr_list.append(a)
>
> return sorted(set(addr_list))
>
>
> --
> 2.47.2
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v4 06/10] git-contributors: make revspec required and shebang fix
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
` (4 preceding siblings ...)
2025-02-13 20:14 ` [PATCH v4 05/10] git-contributors: better handling of hash mark/multiple emails Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 21:45 ` Darrick J. Wong
2025-02-13 20:14 ` [PATCH v4 07/10] release.sh: generate ANNOUNCE email Andrey Albershteyn
` (3 subsequent siblings)
9 siblings, 1 reply; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Andrey Albershteyn
Without default value script will show help instead of just hanging
waiting for input on stdin.
Shebang fix for system with different python location than the
/usr/bin one.
Cut leading delimiter from the final CC string.
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
---
tools/git-contributors.py | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/tools/git-contributors.py b/tools/git-contributors.py
index 1a0f2b80e3dad9124b86b29f8507389ef91fe813..01177a9af749776ce4ac982f29f8f9302904d820 100755
--- a/tools/git-contributors.py
+++ b/tools/git-contributors.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
# List all contributors to a series of git commits.
# Copyright(C) 2025 Oracle, All Rights Reserved.
@@ -144,8 +144,7 @@ def main():
global DEBUG
parser = argparse.ArgumentParser(description = "List email addresses of contributors to a series of git commits.")
- parser.add_argument("revspec", nargs = '?', default = None, \
- help = "git revisions to process.")
+ parser.add_argument("revspec", help = "git revisions to process.")
parser.add_argument("--separator", type = str, default = '\n', \
help = "Separate each email address with this string.")
parser.add_argument('--debug', action = 'store_true', default = False, \
@@ -160,9 +159,6 @@ def main():
# read git commits from repo
contributors = fd.run(backtick(['git', 'log', '--pretty=medium',
args.revspec]))
- else:
- # read patch from stdin
- contributors = fd.run(sys.stdin.readlines())
print(args.separator.join(sorted(contributors)))
return 0
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH v4 06/10] git-contributors: make revspec required and shebang fix
2025-02-13 20:14 ` [PATCH v4 06/10] git-contributors: make revspec required and shebang fix Andrey Albershteyn
@ 2025-02-13 21:45 ` Darrick J. Wong
0 siblings, 0 replies; 17+ messages in thread
From: Darrick J. Wong @ 2025-02-13 21:45 UTC (permalink / raw)
To: Andrey Albershteyn; +Cc: linux-xfs, Andrey Albershteyn
On Thu, Feb 13, 2025 at 09:14:28PM +0100, Andrey Albershteyn wrote:
> Without default value script will show help instead of just hanging
> waiting for input on stdin.
>
> Shebang fix for system with different python location than the
> /usr/bin one.
>
> Cut leading delimiter from the final CC string.
>
> Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
> ---
> tools/git-contributors.py | 8 ++------
Looks good,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/tools/git-contributors.py b/tools/git-contributors.py
> index 1a0f2b80e3dad9124b86b29f8507389ef91fe813..01177a9af749776ce4ac982f29f8f9302904d820 100755
> --- a/tools/git-contributors.py
> +++ b/tools/git-contributors.py
> @@ -1,4 +1,4 @@
> -#!/usr/bin/python3
> +#!/usr/bin/env python3
>
> # List all contributors to a series of git commits.
> # Copyright(C) 2025 Oracle, All Rights Reserved.
> @@ -144,8 +144,7 @@ def main():
> global DEBUG
>
> parser = argparse.ArgumentParser(description = "List email addresses of contributors to a series of git commits.")
> - parser.add_argument("revspec", nargs = '?', default = None, \
> - help = "git revisions to process.")
> + parser.add_argument("revspec", help = "git revisions to process.")
> parser.add_argument("--separator", type = str, default = '\n', \
> help = "Separate each email address with this string.")
> parser.add_argument('--debug', action = 'store_true', default = False, \
> @@ -160,9 +159,6 @@ def main():
> # read git commits from repo
> contributors = fd.run(backtick(['git', 'log', '--pretty=medium',
> args.revspec]))
> - else:
> - # read patch from stdin
> - contributors = fd.run(sys.stdin.readlines())
>
> print(args.separator.join(sorted(contributors)))
> return 0
>
> --
> 2.47.2
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v4 07/10] release.sh: generate ANNOUNCE email
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
` (5 preceding siblings ...)
2025-02-13 20:14 ` [PATCH v4 06/10] git-contributors: make revspec required and shebang fix Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 08/10] release.sh: add -f to generate for-next update email Andrey Albershteyn
` (2 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Darrick J. Wong, Andrey Albershteyn
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
---
release.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/release.sh b/release.sh
index c3f74bc8dc587a40d867dd22e1e4c6e4aabb8997..696d3ec107ca0cc11ed565734ca7423acfd6d858 100755
--- a/release.sh
+++ b/release.sh
@@ -13,11 +13,13 @@ set -e
KUP=0
COMMIT=1
+LAST_HEAD=""
help() {
echo "$(basename) - create xfsprogs release"
printf "\t[--kup|-k] upload final tarball with KUP\n"
printf "\t[--no-commit|-n] don't create release commit\n"
+ printf "\t[--last-head|-l] commit of the last release\n"
}
update_version() {
@@ -40,6 +42,48 @@ update_version() {
sed -i "1s/^/xfsprogs (${version}-1) unstable; urgency=low\n/" ./debian/changelog
}
+prepare_mail() {
+ branch="$1"
+ mail_file=$(mktemp)
+ if [ -n "$LAST_HEAD" ]; then
+ if [ $branch == "master" ]; then
+ reason="$(git describe --abbrev=0 $branch) released"
+ else
+ reason="for-next updated to $(git log --oneline --format="%h" -1 $branch)"
+ fi;
+ cat << EOF > $mail_file
+To: linux-xfs@vger.kernel.org
+Cc: $(./tools/git-contributors.py $LAST_HEAD..$branch --delimiter ', ')
+Subject: [ANNOUNCE] xfsprogs: $reason
+
+Hi folks,
+
+The xfsprogs $branch branch in repository at:
+
+ git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git
+
+has just been updated.
+
+Patches often get missed, so if your outstanding patches are properly reviewed
+on the list and not included in this update, please let me know.
+
+The for-next branch has also been updated to match the state of master.
+
+The new head of the $branch branch is commit:
+
+$(git log --oneline --format="%H" -1 $branch)
+
+New commits:
+
+$(git shortlog --format="[%h] %s" $LAST_HEAD..$branch)
+
+Code Diffstat:
+
+$(git diff --stat --summary -C -M $LAST_HEAD..$branch)
+EOF
+ fi
+}
+
while [ $# -gt 0 ]; do
case "$1" in
--kup|-k)
@@ -48,6 +92,10 @@ while [ $# -gt 0 ]; do
--no-commit|-n)
COMMIT=0
;;
+ --last-head|-l)
+ LAST_HEAD=$2
+ shift
+ ;;
--help|-h)
help
exit 0
@@ -122,6 +170,12 @@ if [ $KUP -eq 1 ]; then
pub/linux/utils/fs/xfs/xfsprogs/
fi;
+prepare_mail "master"
+
echo ""
echo "Done. Please remember to push out tags and the branch."
printf "\tgit push origin v${version} master:master master:for-next\n"
+if [ -n "$LAST_HEAD" ]; then
+ echo "Command to send ANNOUNCE email"
+ printf "\tneomutt -H $mail_file\n"
+fi
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v4 08/10] release.sh: add -f to generate for-next update email
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
` (6 preceding siblings ...)
2025-02-13 20:14 ` [PATCH v4 07/10] release.sh: generate ANNOUNCE email Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 09/10] libxfs-apply: drop Cc: to stable release list Andrey Albershteyn
2025-02-13 20:14 ` [PATCH v4 10/10] gitignore: ignore a few newly generated files Andrey Albershteyn
9 siblings, 0 replies; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Darrick J. Wong, Andrey Albershteyn
Add --for-next/-f to generate ANNOUNCE email for for-next branch
update. This doesn't require new commit/tarball/tags, so skip it.
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
---
release.sh | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/release.sh b/release.sh
index 696d3ec107ca0cc11ed565734ca7423acfd6d858..b7461e958e6f55f7b8ccf31b53e2d304db11789e 100755
--- a/release.sh
+++ b/release.sh
@@ -14,12 +14,14 @@ set -e
KUP=0
COMMIT=1
LAST_HEAD=""
+FOR_NEXT=0
help() {
echo "$(basename) - create xfsprogs release"
printf "\t[--kup|-k] upload final tarball with KUP\n"
printf "\t[--no-commit|-n] don't create release commit\n"
printf "\t[--last-head|-l] commit of the last release\n"
+ printf "\t[--for-next|-f] generate announce email for for-next update\n"
}
update_version() {
@@ -96,6 +98,9 @@ while [ $# -gt 0 ]; do
LAST_HEAD=$2
shift
;;
+ --for-next|-f)
+ FOR_NEXT=1
+ ;;
--help|-h)
help
exit 0
@@ -108,6 +113,17 @@ while [ $# -gt 0 ]; do
shift
done
+if [ $FOR_NEXT -eq 1 ]; then
+ echo "Push your for-next branch:"
+ printf "\tgit push origin for-next:for-next\n"
+ prepare_mail "for-next"
+ if [ -n "$LAST_HEAD" ]; then
+ echo "Command to send ANNOUNCE email"
+ printf "\tneomutt -H $mail_file\n"
+ fi
+ exit 0
+fi
+
if [ -z "$EDITOR" ]; then
EDITOR=$(command -v vi)
fi
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v4 09/10] libxfs-apply: drop Cc: to stable release list
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
` (7 preceding siblings ...)
2025-02-13 20:14 ` [PATCH v4 08/10] release.sh: add -f to generate for-next update email Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 21:45 ` Darrick J. Wong
2025-02-13 20:14 ` [PATCH v4 10/10] gitignore: ignore a few newly generated files Andrey Albershteyn
9 siblings, 1 reply; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Andrey Albershteyn
These Cc: tags are intended for kernel commits which need to be
backported to stable kernels. Maintainers of stable kernel aren't
interested in xfsprogs syncs.
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
---
tools/libxfs-apply | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/libxfs-apply b/tools/libxfs-apply
index 097a695f942bb832c2fb1456a0fd8c28c025d1a6..e9672e572d23af296dccfe6499eda9b909f44afd 100755
--- a/tools/libxfs-apply
+++ b/tools/libxfs-apply
@@ -254,6 +254,7 @@ fixup_header_format()
}
/^Date:/ { date_seen=1; next }
/^difflib/ { next }
+ /[Cc]{2}: <?stable@vger.kernel.org>?.*/ { next }
// {
if (date_seen == 0)
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH v4 09/10] libxfs-apply: drop Cc: to stable release list
2025-02-13 20:14 ` [PATCH v4 09/10] libxfs-apply: drop Cc: to stable release list Andrey Albershteyn
@ 2025-02-13 21:45 ` Darrick J. Wong
2025-02-13 22:27 ` Andrey Albershteyn
0 siblings, 1 reply; 17+ messages in thread
From: Darrick J. Wong @ 2025-02-13 21:45 UTC (permalink / raw)
To: Andrey Albershteyn; +Cc: linux-xfs, Andrey Albershteyn
On Thu, Feb 13, 2025 at 09:14:31PM +0100, Andrey Albershteyn wrote:
> These Cc: tags are intended for kernel commits which need to be
> backported to stable kernels. Maintainers of stable kernel aren't
> interested in xfsprogs syncs.
>
> Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
> ---
> tools/libxfs-apply | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/libxfs-apply b/tools/libxfs-apply
> index 097a695f942bb832c2fb1456a0fd8c28c025d1a6..e9672e572d23af296dccfe6499eda9b909f44afd 100755
> --- a/tools/libxfs-apply
> +++ b/tools/libxfs-apply
> @@ -254,6 +254,7 @@ fixup_header_format()
> }
> /^Date:/ { date_seen=1; next }
> /^difflib/ { next }
> + /[Cc]{2}: <?stable@vger.kernel.org>?.*/ { next }
You might want to ignore the angle brackets, because some people do:
Cc: stable@vger.kernel.org
which is valid rfc822 even if SubmittingPatches says not to do that.
Annoyingly, other parts of the documentation lay that out as an example.
/[Cc]{2}:.*stable@vger.kernel.org/ { next }
<shrug>
--D
>
> // {
> if (date_seen == 0)
>
> --
> 2.47.2
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [PATCH v4 09/10] libxfs-apply: drop Cc: to stable release list
2025-02-13 21:45 ` Darrick J. Wong
@ 2025-02-13 22:27 ` Andrey Albershteyn
2025-02-13 22:47 ` Darrick J. Wong
0 siblings, 1 reply; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 22:27 UTC (permalink / raw)
To: Darrick J. Wong; +Cc: linux-xfs, Andrey Albershteyn
On 2025-02-13 13:45:41, Darrick J. Wong wrote:
> On Thu, Feb 13, 2025 at 09:14:31PM +0100, Andrey Albershteyn wrote:
> > These Cc: tags are intended for kernel commits which need to be
> > backported to stable kernels. Maintainers of stable kernel aren't
> > interested in xfsprogs syncs.
> >
> > Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
> > ---
> > tools/libxfs-apply | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/tools/libxfs-apply b/tools/libxfs-apply
> > index 097a695f942bb832c2fb1456a0fd8c28c025d1a6..e9672e572d23af296dccfe6499eda9b909f44afd 100755
> > --- a/tools/libxfs-apply
> > +++ b/tools/libxfs-apply
> > @@ -254,6 +254,7 @@ fixup_header_format()
> > }
> > /^Date:/ { date_seen=1; next }
> > /^difflib/ { next }
> > + /[Cc]{2}: <?stable@vger.kernel.org>?.*/ { next }
>
> You might want to ignore the angle brackets, because some people do:
The ? does that :) One or zero of <>
>
> Cc: stable@vger.kernel.org
>
> which is valid rfc822 even if SubmittingPatches says not to do that.
> Annoyingly, other parts of the documentation lay that out as an example.
>
> /[Cc]{2}:.*stable@vger.kernel.org/ { next }
>
> <shrug>
>
> --D
>
> >
> > // {
> > if (date_seen == 0)
> >
> > --
> > 2.47.2
> >
> >
>
--
- Andrey
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [PATCH v4 09/10] libxfs-apply: drop Cc: to stable release list
2025-02-13 22:27 ` Andrey Albershteyn
@ 2025-02-13 22:47 ` Darrick J. Wong
0 siblings, 0 replies; 17+ messages in thread
From: Darrick J. Wong @ 2025-02-13 22:47 UTC (permalink / raw)
To: Andrey Albershteyn; +Cc: linux-xfs, Andrey Albershteyn
On Thu, Feb 13, 2025 at 11:27:06PM +0100, Andrey Albershteyn wrote:
> On 2025-02-13 13:45:41, Darrick J. Wong wrote:
> > On Thu, Feb 13, 2025 at 09:14:31PM +0100, Andrey Albershteyn wrote:
> > > These Cc: tags are intended for kernel commits which need to be
> > > backported to stable kernels. Maintainers of stable kernel aren't
> > > interested in xfsprogs syncs.
> > >
> > > Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
> > > ---
> > > tools/libxfs-apply | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/tools/libxfs-apply b/tools/libxfs-apply
> > > index 097a695f942bb832c2fb1456a0fd8c28c025d1a6..e9672e572d23af296dccfe6499eda9b909f44afd 100755
> > > --- a/tools/libxfs-apply
> > > +++ b/tools/libxfs-apply
> > > @@ -254,6 +254,7 @@ fixup_header_format()
> > > }
> > > /^Date:/ { date_seen=1; next }
> > > /^difflib/ { next }
> > > + /[Cc]{2}: <?stable@vger.kernel.org>?.*/ { next }
> >
> > You might want to ignore the angle brackets, because some people do:
>
> The ? does that :) One or zero of <>
Aha, I missed that! Thanks for the correction.
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> >
> > Cc: stable@vger.kernel.org
> >
> > which is valid rfc822 even if SubmittingPatches says not to do that.
> > Annoyingly, other parts of the documentation lay that out as an example.
> >
> > /[Cc]{2}:.*stable@vger.kernel.org/ { next }
> >
> > <shrug>
> >
> > --D
> >
> > >
> > > // {
> > > if (date_seen == 0)
> > >
> > > --
> > > 2.47.2
> > >
> > >
> >
>
> --
> - Andrey
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v4 10/10] gitignore: ignore a few newly generated files
2025-02-13 20:14 [PATCH v4 00/10] Update release.sh Andrey Albershteyn
` (8 preceding siblings ...)
2025-02-13 20:14 ` [PATCH v4 09/10] libxfs-apply: drop Cc: to stable release list Andrey Albershteyn
@ 2025-02-13 20:14 ` Andrey Albershteyn
2025-02-13 20:20 ` Darrick J. Wong
9 siblings, 1 reply; 17+ messages in thread
From: Andrey Albershteyn @ 2025-02-13 20:14 UTC (permalink / raw)
To: linux-xfs; +Cc: Andrey Albershteyn
These files are generated from corresponding *.in templates.
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
---
.gitignore | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.gitignore b/.gitignore
index 756867124a021b195a10fc2a8a598f16aa6514c4..5d971200d5bfb285e680427de193f81d8ab77c06 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,12 +65,14 @@ cscope.*
/mdrestore/xfs_mdrestore
/mkfs/fstyp
/mkfs/mkfs.xfs
+/mkfs/xfs_protofile
/quota/xfs_quota
/repair/xfs_repair
/rtcp/xfs_rtcp
/spaceman/xfs_spaceman
/scrub/xfs_scrub
/scrub/xfs_scrub_all
+/scrub/xfs_scrub_all.timer
/scrub/xfs_scrub_fail
/scrub/*.cron
/scrub/*.service
--
2.47.2
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH v4 10/10] gitignore: ignore a few newly generated files
2025-02-13 20:14 ` [PATCH v4 10/10] gitignore: ignore a few newly generated files Andrey Albershteyn
@ 2025-02-13 20:20 ` Darrick J. Wong
0 siblings, 0 replies; 17+ messages in thread
From: Darrick J. Wong @ 2025-02-13 20:20 UTC (permalink / raw)
To: Andrey Albershteyn; +Cc: linux-xfs, Andrey Albershteyn
On Thu, Feb 13, 2025 at 09:14:32PM +0100, Andrey Albershteyn wrote:
> These files are generated from corresponding *.in templates.
>
> Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> .gitignore | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/.gitignore b/.gitignore
> index 756867124a021b195a10fc2a8a598f16aa6514c4..5d971200d5bfb285e680427de193f81d8ab77c06 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -65,12 +65,14 @@ cscope.*
> /mdrestore/xfs_mdrestore
> /mkfs/fstyp
> /mkfs/mkfs.xfs
> +/mkfs/xfs_protofile
> /quota/xfs_quota
> /repair/xfs_repair
> /rtcp/xfs_rtcp
> /spaceman/xfs_spaceman
> /scrub/xfs_scrub
> /scrub/xfs_scrub_all
> +/scrub/xfs_scrub_all.timer
> /scrub/xfs_scrub_fail
> /scrub/*.cron
> /scrub/*.service
>
> --
> 2.47.2
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread