[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 06/25] python: add commit-per-subsystem.py
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[PATCH v3 06/25] python: add commit-per-subsystem.py |
Date: |
Tue, 24 Sep 2019 23:08:43 +0300 |
Add script to automatically commit tree-wide changes per-subsystem.
Signed-off-by: Vladimir Sementsov-Ogievskiy <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
- Re: [PATCH v3 02/25] hw/core/loader-fit: fix freeing errp in fit_load_fdt, (continued)
[PATCH v3 03/25] net/net: fix local variable shadowing in net_client_init, Vladimir Sementsov-Ogievskiy, 2019/09/24
[PATCH v3 05/25] scripts: add coccinelle script to fix error_append_hint usage, Vladimir Sementsov-Ogievskiy, 2019/09/24
[PATCH v3 07/25] s390: Fix error_append_hint usage, Vladimir Sementsov-Ogievskiy, 2019/09/24
[PATCH v3 08/25] ARM TCG CPUs: Fix error_append_hint usage, Vladimir Sementsov-Ogievskiy, 2019/09/24
[PATCH v3 06/25] python: add commit-per-subsystem.py,
Vladimir Sementsov-Ogievskiy <=
[PATCH v3 09/25] PowerPC TCG CPUs: Fix error_append_hint usage, Vladimir Sementsov-Ogievskiy, 2019/09/24
[PATCH v3 10/25] arm: Fix error_append_hint usage, Vladimir Sementsov-Ogievskiy, 2019/09/24
[PATCH v3 04/25] error: auto propagated local_err, Vladimir Sementsov-Ogievskiy, 2019/09/24
[PATCH v3 11/25] SmartFusion2: Fix error_append_hint usage, Vladimir Sementsov-Ogievskiy, 2019/09/24