[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 06/31] python: add commit-per-subsystem.py
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[PATCH v4 06/31] python: add commit-per-subsystem.py |
Date: |
Tue, 1 Oct 2019 18:52:54 +0300 |
Add script to automatically commit tree-wide changes per-subsystem.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
python/commit-per-subsystem.py | 69 ++++++++++++++++++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100755 python/commit-per-subsystem.py
diff --git a/python/commit-per-subsystem.py b/python/commit-per-subsystem.py
new file mode 100755
index 0000000000..d8442d9ea3
--- /dev/null
+++ b/python/commit-per-subsystem.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env python3
+#
+# Copyright (c) 2019 Virtuozzo International GmbH
+#
+# 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; either version 2 of the License, or
+# (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+import subprocess
+import sys
+
+
+def git_add(pattern):
+ subprocess.run(['git', 'add', pattern])
+
+
+def git_commit(msg):
+ subprocess.run(['git', 'commit', '-m', msg], capture_output=True)
+
+
+maintainers = sys.argv[1]
+message = sys.argv[2].strip()
+
+subsystem = None
+
+shortnames = {
+ 'Block layer core': 'block',
+ 'ARM cores': 'arm',
+ 'Network Block Device (NBD)': 'nbd',
+ 'Command line option argument parsing': 'cmdline',
+ 'Character device backends': 'chardev',
+ 'S390 general architecture support': 's390'
+}
+
+
+def commit():
+ if subsystem:
+ msg = subsystem
+ if msg in shortnames:
+ msg = shortnames[msg]
+ msg += ': ' + message
+ git_commit(msg)
+
+
+with open(maintainers) as f:
+ for line in f:
+ line = line.rstrip()
+ if not line:
+ continue
+ if len(line) >= 2 and line[1] == ':':
+ if line[0] == 'F' and line[3:] not in ['*', '*/']:
+ git_add(line[3:])
+ else:
+ # new subsystem start
+ commit()
+
+ subsystem = line
+
+commit()
--
2.21.0
- [PATCH v4 04/31] error: auto propagated local_err, (continued)
[PATCH v4 06/31] python: add commit-per-subsystem.py,
Vladimir Sementsov-Ogievskiy <=
Re: [PATCH v4 00/31] error: auto propagated local_err, no-reply, 2019/10/01
Re: [PATCH v4 00/31] error: auto propagated local_err, Markus Armbruster, 2019/10/02
Re: [PATCH v4 00/31] error: auto propagated local_err, Markus Armbruster, 2019/10/08