auto-git:
[change] main.js
This commit is contained in:
43
main.js
43
main.js
@@ -474,28 +474,39 @@ app.whenReady().then(() => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// HEAD-Status prüfen
|
// HEAD-Status prüfen
|
||||||
let currentBranch = null;
|
let currentBranch;
|
||||||
try {
|
try {
|
||||||
currentBranch = (await git.revparse(['--abbrev-ref', 'HEAD'])).trim();
|
currentBranch = (await git.revparse(['--abbrev-ref', 'HEAD'])).trim();
|
||||||
debug(`Aktueller Branch: ${currentBranch}`);
|
} catch {
|
||||||
} catch (err) {
|
currentBranch = null;
|
||||||
debug('HEAD ist detached.');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Falls detached, **jetzt erst** alten Branch umbenennen und neuen master erzeugen
|
|
||||||
if (!currentBranch || currentBranch === 'HEAD') {
|
if (!currentBranch || currentBranch === 'HEAD') {
|
||||||
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
// HEAD ist detached
|
||||||
const backupBranch = `backup-master-${timestamp}`;
|
const headCommit = (await git.revparse(['HEAD'])).trim();
|
||||||
|
let masterCommit = null;
|
||||||
// Alten master umbenennen (nur falls vorhanden!)
|
try {
|
||||||
const branches = await git.branchLocal();
|
masterCommit = (await git.revparse(['refs/heads/master'])).trim();
|
||||||
if (branches.all.includes('master')) {
|
} catch (e) {
|
||||||
await git.branch(['-m', 'master', backupBranch]);
|
masterCommit = null; // master existiert nicht
|
||||||
debug(`Alter master-Branch wurde in ${backupBranch} umbenannt.`);
|
}
|
||||||
|
|
||||||
|
if (masterCommit && headCommit === masterCommit) {
|
||||||
|
// HEAD ist detached, zeigt aber auf den Master-Tip!
|
||||||
|
await git.checkout('master');
|
||||||
|
debug('[autoCommit] HEAD war detached, aber auf master-Tip – zurück zu master.');
|
||||||
|
} else {
|
||||||
|
// Dein altes Branching, nur wenn wirklich nötig:
|
||||||
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
||||||
|
const backupBranch = `backup-master-${timestamp}`;
|
||||||
|
const branches = await git.branchLocal();
|
||||||
|
if (branches.all.includes('master')) {
|
||||||
|
await git.branch(['-m', 'master', backupBranch]);
|
||||||
|
debug(`[autoCommit] Alter master in ${backupBranch} umbenannt.`);
|
||||||
|
}
|
||||||
|
await git.checkout(['-b', 'master']);
|
||||||
|
debug('[autoCommit] Neuer master-Branch erstellt und ausgecheckt.');
|
||||||
}
|
}
|
||||||
// Neuer master-Branch
|
|
||||||
await git.checkout(['-b', 'master']);
|
|
||||||
debug('Neuer master-Branch erstellt und ausgecheckt.');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await git.add(['-A']);
|
await git.add(['-A']);
|
||||||
|
|||||||
Reference in New Issue
Block a user