Add script to reword first commit in rebase sequence on Windows
This commit is contained in:
34
rebase-sequence-windows.js.js
Executable file
34
rebase-sequence-windows.js.js
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
// ─────────────────────────────────────────────────
|
||||||
|
// rebase-sequence-windows.js
|
||||||
|
// Dieses Skript wird von Git (als GIT_SEQUENCE_EDITOR) aufgerufen.
|
||||||
|
// Git übergibt die "todo"-Datei als erstes Argument (process.argv[2]).
|
||||||
|
// Wir ersetzen dort "pick ..." in der ersten Zeile durch "reword ...".
|
||||||
|
// ─────────────────────────────────────────────────
|
||||||
|
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
// Git ruft den Editor so auf:
|
||||||
|
// node rebase-sequence-windows.js <pfad-zur-todo-Datei>
|
||||||
|
// In process.argv ist:
|
||||||
|
// [0] = Pfad zur Node‐Executable
|
||||||
|
// [1] = Pfad zu diesem Skript
|
||||||
|
// [2] = Pfad zur temporären Todo-Datei
|
||||||
|
const todoFile = process.argv[2];
|
||||||
|
if (!todoFile) {
|
||||||
|
console.error('Usage: rebase-sequence-windows.js <todoFile>');
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const content = fs.readFileSync(todoFile, 'utf8').split(/\r?\n/);
|
||||||
|
if (content.length > 0 && content[0].startsWith('pick ')) {
|
||||||
|
content[0] = content[0].replace(/^pick /, 'reword ');
|
||||||
|
}
|
||||||
|
fs.writeFileSync(todoFile, content.join('\n'), 'utf8');
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Fehler beim Bearbeiten der Rebase-TODO-Datei:', err);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
process.exit(0);
|
||||||
Reference in New Issue
Block a user