Updatetest
Dieser Commit ist enthalten in:
@ -13,9 +13,10 @@ RUN apk add --no-cache git
|
||||
# Git Safe Directory für gemountete Windows-Verzeichnisse konfigurieren (system-weit für alle User)
|
||||
RUN git config --system --add safe.directory '*'
|
||||
|
||||
# Git-Benutzer konfigurieren (für Commits)
|
||||
# Git-Benutzer und Standard-Branch konfigurieren (für Commits)
|
||||
RUN git config --system user.email "taskmate@local" && \
|
||||
git config --system user.name "TaskMate"
|
||||
git config --system user.name "TaskMate" && \
|
||||
git config --system init.defaultBranch main
|
||||
|
||||
# Package-Dateien kopieren
|
||||
COPY backend/package*.json ./
|
||||
|
||||
@ -448,14 +448,8 @@ function pushWithUpstream(localPath, branch = null, remoteName = 'origin') {
|
||||
return { success: false, error: 'Kein Git-Repository' };
|
||||
}
|
||||
|
||||
// Aktuellen Branch ermitteln falls nicht angegeben
|
||||
if (!branch) {
|
||||
const branchResult = execGitCommand('git branch --show-current', localPath);
|
||||
branch = branchResult.success && branchResult.output ? branchResult.output : 'main';
|
||||
}
|
||||
|
||||
// Prüfe ob Commits existieren
|
||||
const logResult = execGitCommand('git rev-parse HEAD', localPath);
|
||||
let logResult = execGitCommand('git rev-parse HEAD', localPath);
|
||||
if (!logResult.success) {
|
||||
// Keine Commits - erstelle einen initialen Commit
|
||||
const statusResult = execGitCommand('git status --porcelain', localPath);
|
||||
@ -472,13 +466,55 @@ function pushWithUpstream(localPath, branch = null, remoteName = 'origin') {
|
||||
}
|
||||
|
||||
logger.info('Initialer Commit erstellt vor Push');
|
||||
|
||||
// Verifiziere dass der Commit erstellt wurde
|
||||
logResult = execGitCommand('git rev-parse HEAD', localPath);
|
||||
if (!logResult.success) {
|
||||
return { success: false, error: 'Commit wurde erstellt aber HEAD existiert nicht' };
|
||||
}
|
||||
} else {
|
||||
return { success: false, error: 'Keine Commits und keine Dateien zum Committen vorhanden' };
|
||||
}
|
||||
}
|
||||
|
||||
// Aktuellen Branch ermitteln NACH dem Commit
|
||||
const branchResult = execGitCommand('git branch --show-current', localPath);
|
||||
if (branchResult.success && branchResult.output) {
|
||||
branch = branchResult.output;
|
||||
logger.info(`Aktueller Branch: ${branch}`);
|
||||
} else {
|
||||
// Fallback: Branch aus git branch auslesen
|
||||
const branchListResult = execGitCommand('git branch', localPath);
|
||||
logger.info(`Branch-Liste: ${branchListResult.output}`);
|
||||
|
||||
if (branchListResult.success && branchListResult.output) {
|
||||
const lines = branchListResult.output.split('\n');
|
||||
for (const line of lines) {
|
||||
if (line.includes('*')) {
|
||||
branch = line.replace('*', '').trim();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!branch) {
|
||||
// Letzter Fallback: Versuche den Branch zu erstellen
|
||||
logger.info('Kein Branch gefunden, erstelle main');
|
||||
execGitCommand('git checkout -b main', localPath);
|
||||
branch = 'main';
|
||||
}
|
||||
}
|
||||
|
||||
logger.info(`Push auf Branch: ${branch}`);
|
||||
|
||||
// Push mit -u für Upstream-Tracking
|
||||
return execGitCommand(`git push -u ${remoteName} ${branch}`, localPath, { timeout: 120000 });
|
||||
const pushResult = execGitCommand(`git push -u ${remoteName} ${branch}`, localPath, { timeout: 120000 });
|
||||
|
||||
if (!pushResult.success) {
|
||||
logger.error(`Push fehlgeschlagen: ${pushResult.error}`);
|
||||
}
|
||||
|
||||
return pushResult;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
BIN
backups/backup_2025-12-28T21-37-16-598Z.db-wal
Normale Datei
BIN
backups/backup_2025-12-28T21-37-16-598Z.db-wal
Normale Datei
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
0
backups/backup_2025-12-28T21-51-26-664Z.db-wal
Normale Datei
0
backups/backup_2025-12-28T21-51-26-664Z.db-wal
Normale Datei
BIN
data/taskmate.db
BIN
data/taskmate.db
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
150
logs/app.log
150
logs/app.log
@ -29634,3 +29634,153 @@
|
||||
[2025-12-28T21:36:42.131Z] [INFO] CSRF: Token missing or not stored for user 1, generated new token
|
||||
[2025-12-28T21:36:42.131Z] [INFO] POST /api/git/push/4 403 2ms
|
||||
[2025-12-28T21:36:42.154Z] [ERROR] Git-Befehl fehlgeschlagen: git remote get-url origin "Command failed: git remote get-url origin\nerror: No such remote 'origin'\n"
|
||||
[2025-12-28T21:36:42.155Z] [INFO] POST /api/git/push/4 200 21ms
|
||||
[2025-12-28T21:36:42.191Z] [ERROR] Git-Befehl fehlgeschlagen: git rev-parse HEAD "Command failed: git rev-parse HEAD\nfatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.\nUse '--' to separate paths from revisions, like this:\n'git <command> [<revision>...] -- [<file>...]'\n"
|
||||
[2025-12-28T21:36:45.384Z] [INFO] Initialer Commit erstellt vor Push
|
||||
[2025-12-28T21:36:45.419Z] [ERROR] Git-Befehl fehlgeschlagen: git push -u origin main "Command failed: git push -u origin main\nerror: src refspec main does not match any\nerror: failed to push some refs to 'origin'\n"
|
||||
[2025-12-28T21:36:45.420Z] [INFO] POST /api/git/init-push/4 200 3262ms
|
||||
[2025-12-28T21:36:49.229Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:37:16.604Z] [INFO] Backup erstellt: backup_2025-12-28T21-37-16-598Z.db
|
||||
[2025-12-28T21:37:16.608Z] [INFO] Altes Backup gelöscht: backup_2025-12-22T11-19-54-427Z.db
|
||||
[2025-12-28T21:37:16.608Z] [INFO] Fälligkeits-Check für Benachrichtigungen gestartet
|
||||
[2025-12-28T21:37:21.607Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:37:34.018Z] [INFO] Socket disconnected: HG (tw6de05sUDpLUR8eAAAB)
|
||||
[2025-12-28T21:37:53.959Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T21:38:26.370Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T21:38:58.803Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:50:21.986Z] [ERROR] Fehler beim Abrufen der Upload-Einstellungen:
|
||||
[2025-12-28T21:50:22.016Z] [INFO] Datenbank-Tabellen erstellt
|
||||
[2025-12-28T21:50:22.017Z] [INFO] Datenbank initialisiert
|
||||
[2025-12-28T21:50:22.018Z] [INFO] Server läuft auf Port 3000
|
||||
[2025-12-28T21:50:22.018Z] [INFO] Umgebung: production
|
||||
[2025-12-28T21:50:22.019Z] [INFO] Backup-Scheduler gestartet (alle 24 Stunden)
|
||||
[2025-12-28T21:50:22.019Z] [INFO] Automatische Backups aktiviert
|
||||
[2025-12-28T21:50:26.875Z] [INFO] GET /api/health 200 4ms
|
||||
[2025-12-28T21:50:35.250Z] [INFO] GET / 304 1ms
|
||||
[2025-12-28T21:50:35.272Z] [INFO] GET /css/variables.css 304 1ms
|
||||
[2025-12-28T21:50:35.273Z] [INFO] GET /css/base.css 304 0ms
|
||||
[2025-12-28T21:50:35.277Z] [INFO] GET /css/components.css 304 1ms
|
||||
[2025-12-28T21:50:35.278Z] [INFO] GET /css/modal.css 304 2ms
|
||||
[2025-12-28T21:50:35.279Z] [INFO] GET /css/board.css 304 3ms
|
||||
[2025-12-28T21:50:35.279Z] [INFO] GET /css/notifications.css 304 1ms
|
||||
[2025-12-28T21:50:35.287Z] [INFO] GET /css/admin.css 304 6ms
|
||||
[2025-12-28T21:50:35.287Z] [INFO] GET /css/calendar.css 304 7ms
|
||||
[2025-12-28T21:50:35.286Z] [INFO] GET /css/proposals.css 304 6ms
|
||||
[2025-12-28T21:50:35.286Z] [INFO] GET /css/responsive.css 304 5ms
|
||||
[2025-12-28T21:50:35.288Z] [INFO] GET /css/gitea.css 304 7ms
|
||||
[2025-12-28T21:50:35.288Z] [INFO] GET /css/list.css 304 7ms
|
||||
[2025-12-28T21:50:35.303Z] [INFO] GET /js/app.js 304 13ms
|
||||
[2025-12-28T21:50:35.315Z] [INFO] GET /js/store.js 304 0ms
|
||||
[2025-12-28T21:50:35.317Z] [INFO] GET /js/api.js 304 1ms
|
||||
[2025-12-28T21:50:35.317Z] [INFO] GET /js/auth.js 304 1ms
|
||||
[2025-12-28T21:50:35.318Z] [INFO] GET /js/sync.js 304 2ms
|
||||
[2025-12-28T21:50:35.318Z] [INFO] GET /js/offline.js 304 2ms
|
||||
[2025-12-28T21:50:35.325Z] [INFO] GET /js/task-modal.js 304 7ms
|
||||
[2025-12-28T21:50:35.319Z] [INFO] GET /js/board.js 304 2ms
|
||||
[2025-12-28T21:50:35.326Z] [INFO] GET /js/shortcuts.js 304 6ms
|
||||
[2025-12-28T21:50:35.326Z] [INFO] GET /js/calendar.js 304 7ms
|
||||
[2025-12-28T21:50:35.327Z] [INFO] GET /js/undo.js 304 7ms
|
||||
[2025-12-28T21:50:35.327Z] [INFO] GET /js/list.js 304 8ms
|
||||
[2025-12-28T21:50:35.327Z] [INFO] GET /js/admin.js 304 7ms
|
||||
[2025-12-28T21:50:35.342Z] [INFO] GET /js/proposals.js 304 14ms
|
||||
[2025-12-28T21:50:35.342Z] [INFO] GET /js/utils.js 304 14ms
|
||||
[2025-12-28T21:50:35.341Z] [INFO] GET /js/notifications.js 304 13ms
|
||||
[2025-12-28T21:50:35.342Z] [INFO] GET /js/gitea.js 304 14ms
|
||||
[2025-12-28T21:50:35.366Z] [INFO] GET /assets/icons/task.svg 304 3ms
|
||||
[2025-12-28T21:50:35.370Z] [INFO] GET /api/auth/users 401 5ms
|
||||
[2025-12-28T21:50:36.982Z] [INFO] GET /sw.js 304 1ms
|
||||
[2025-12-28T21:50:59.244Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:51:26.669Z] [INFO] Backup erstellt: backup_2025-12-28T21-51-26-664Z.db
|
||||
[2025-12-28T21:51:26.675Z] [INFO] Altes Backup gelöscht: backup_2025-12-22T11-29-31-161Z.db
|
||||
[2025-12-28T21:51:26.676Z] [INFO] Fälligkeits-Check für Benachrichtigungen gestartet
|
||||
[2025-12-28T21:51:31.693Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T21:52:04.101Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:52:36.516Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T21:53:08.877Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T21:53:33.728Z] [INFO] Login erfolgreich: hendrik_gebhardt@gmx.de
|
||||
[2025-12-28T21:53:33.729Z] [INFO] POST /api/auth/login 200 196ms
|
||||
[2025-12-28T21:53:33.740Z] [INFO] GET /api/auth/users 304 2ms
|
||||
[2025-12-28T21:53:33.751Z] [INFO] Socket connected: HG (cMUXMIseh8juylWkAAAC)
|
||||
[2025-12-28T21:53:33.752Z] [INFO] Socket connected: HG (MYc7PfjjCaWlCyB-AAAD)
|
||||
[2025-12-28T21:53:33.762Z] [INFO] HG joined project:[object Object]
|
||||
[2025-12-28T21:53:33.758Z] [INFO] GET /api/projects 304 3ms
|
||||
[2025-12-28T21:53:33.774Z] [INFO] GET /api/tasks/project/4 304 3ms
|
||||
[2025-12-28T21:53:33.767Z] [INFO] GET /api/stats/dashboard?projectId=4 304 3ms
|
||||
[2025-12-28T21:53:33.770Z] [INFO] GET /api/columns/4 304 6ms
|
||||
[2025-12-28T21:53:33.769Z] [INFO] GET /api/labels/4 304 5ms
|
||||
[2025-12-28T21:53:33.780Z] [INFO] GET /api/proposals?sort=date&archived=0&projectId=4 304 2ms
|
||||
[2025-12-28T21:53:33.786Z] [INFO] GET /api/notifications 304 2ms
|
||||
[2025-12-28T21:53:35.631Z] [INFO] GET /api/applications/4 304 3ms
|
||||
[2025-12-28T21:53:35.937Z] [INFO] GET /api/git/branches/4 200 301ms
|
||||
[2025-12-28T21:53:35.977Z] [INFO] GET /api/git/commits/4?limit=10 200 341ms
|
||||
[2025-12-28T21:53:35.896Z] [INFO] GET /api/git/status/4 200 260ms
|
||||
[2025-12-28T21:53:41.342Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:53:45.392Z] [INFO] POST /api/git/push/4 200 296ms
|
||||
[2025-12-28T21:53:45.620Z] [INFO] GET /api/git/status/4 304 224ms
|
||||
[2025-12-28T21:53:45.659Z] [INFO] GET /api/git/branches/4 304 38ms
|
||||
[2025-12-28T21:53:45.699Z] [INFO] GET /api/git/commits/4?limit=10 304 78ms
|
||||
[2025-12-28T21:54:13.750Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:54:21.923Z] [INFO] GET / 304 0ms
|
||||
[2025-12-28T21:54:21.930Z] [INFO] Socket disconnected: HG (cMUXMIseh8juylWkAAAC)
|
||||
[2025-12-28T21:54:21.931Z] [INFO] Socket disconnected: HG (MYc7PfjjCaWlCyB-AAAD)
|
||||
[2025-12-28T21:54:21.945Z] [INFO] GET /css/admin.css 304 0ms
|
||||
[2025-12-28T21:54:21.940Z] [INFO] GET /css/variables.css 304 1ms
|
||||
[2025-12-28T21:54:21.944Z] [INFO] GET /css/components.css 304 1ms
|
||||
[2025-12-28T21:54:21.944Z] [INFO] GET /css/base.css 304 1ms
|
||||
[2025-12-28T21:54:21.946Z] [INFO] GET /css/board.css 304 1ms
|
||||
[2025-12-28T21:54:21.950Z] [INFO] GET /css/calendar.css 304 3ms
|
||||
[2025-12-28T21:54:21.949Z] [INFO] GET /css/notifications.css 304 3ms
|
||||
[2025-12-28T21:54:21.949Z] [INFO] GET /css/proposals.css 304 3ms
|
||||
[2025-12-28T21:54:21.949Z] [INFO] GET /css/modal.css 304 3ms
|
||||
[2025-12-28T21:54:21.950Z] [INFO] GET /css/gitea.css 304 3ms
|
||||
[2025-12-28T21:54:21.950Z] [INFO] GET /css/list.css 304 3ms
|
||||
[2025-12-28T21:54:21.966Z] [INFO] GET /css/responsive.css 304 15ms
|
||||
[2025-12-28T21:54:21.967Z] [INFO] GET /js/app.js 304 15ms
|
||||
[2025-12-28T21:54:21.979Z] [INFO] GET /js/store.js 304 2ms
|
||||
[2025-12-28T21:54:21.979Z] [INFO] GET /js/auth.js 304 2ms
|
||||
[2025-12-28T21:54:21.980Z] [INFO] GET /js/offline.js 304 3ms
|
||||
[2025-12-28T21:54:21.979Z] [INFO] GET /js/api.js 304 2ms
|
||||
[2025-12-28T21:54:21.980Z] [INFO] GET /js/sync.js 304 2ms
|
||||
[2025-12-28T21:54:21.987Z] [INFO] GET /js/calendar.js 304 6ms
|
||||
[2025-12-28T21:54:21.987Z] [INFO] GET /js/shortcuts.js 304 6ms
|
||||
[2025-12-28T21:54:21.980Z] [INFO] GET /js/board.js 304 2ms
|
||||
[2025-12-28T21:54:21.987Z] [INFO] GET /js/list.js 304 6ms
|
||||
[2025-12-28T21:54:21.988Z] [INFO] GET /js/task-modal.js 304 7ms
|
||||
[2025-12-28T21:54:21.988Z] [INFO] GET /js/admin.js 304 7ms
|
||||
[2025-12-28T21:54:21.988Z] [INFO] GET /js/undo.js 304 7ms
|
||||
[2025-12-28T21:54:22.003Z] [INFO] GET /js/gitea.js 304 14ms
|
||||
[2025-12-28T21:54:22.003Z] [INFO] GET /js/proposals.js 304 14ms
|
||||
[2025-12-28T21:54:22.003Z] [INFO] GET /js/notifications.js 304 14ms
|
||||
[2025-12-28T21:54:22.003Z] [INFO] GET /js/utils.js 304 13ms
|
||||
[2025-12-28T21:54:22.022Z] [INFO] GET /assets/icons/task.svg 304 1ms
|
||||
[2025-12-28T21:54:22.032Z] [INFO] GET /api/auth/users 304 2ms
|
||||
[2025-12-28T21:54:22.024Z] [INFO] GET /api/auth/users 304 1ms
|
||||
[2025-12-28T21:54:22.035Z] [INFO] Socket connected: HG (oYW9EIKPXtULSyWjAAAF)
|
||||
[2025-12-28T21:54:22.042Z] [INFO] GET /api/projects 304 1ms
|
||||
[2025-12-28T21:54:22.052Z] [INFO] GET /api/columns/4 304 4ms
|
||||
[2025-12-28T21:54:22.054Z] [INFO] GET /api/tasks/project/4 304 6ms
|
||||
[2025-12-28T21:54:22.051Z] [INFO] GET /api/stats/dashboard?projectId=4 304 3ms
|
||||
[2025-12-28T21:54:22.056Z] [INFO] GET /api/labels/4 304 8ms
|
||||
[2025-12-28T21:54:22.061Z] [INFO] GET /api/proposals?sort=date&archived=0&projectId=4 304 1ms
|
||||
[2025-12-28T21:54:22.068Z] [INFO] GET /api/notifications 304 1ms
|
||||
[2025-12-28T21:54:22.183Z] [INFO] HG joined project:[object Object]
|
||||
[2025-12-28T21:54:23.500Z] [INFO] GET /sw.js 304 0ms
|
||||
[2025-12-28T21:54:23.512Z] [INFO] GET /api/applications/4 200 2ms
|
||||
[2025-12-28T21:54:23.755Z] [INFO] GET /api/git/status/4 304 238ms
|
||||
[2025-12-28T21:54:23.798Z] [INFO] GET /api/git/branches/4 304 281ms
|
||||
[2025-12-28T21:54:23.840Z] [INFO] GET /api/git/commits/4?limit=10 304 323ms
|
||||
[2025-12-28T21:54:32.677Z] [INFO] POST /api/git/push/4 200 268ms
|
||||
[2025-12-28T21:54:32.913Z] [INFO] GET /api/git/status/4 304 233ms
|
||||
[2025-12-28T21:54:32.951Z] [INFO] GET /api/git/branches/4 304 38ms
|
||||
[2025-12-28T21:54:32.991Z] [INFO] GET /api/git/commits/4?limit=10 304 39ms
|
||||
[2025-12-28T21:54:46.136Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T21:55:18.512Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:55:50.892Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:56:23.283Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:56:55.658Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T21:57:28.128Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:58:00.512Z] [INFO] GET /api/health 200 0ms
|
||||
[2025-12-28T21:58:32.884Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T21:59:05.278Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T21:59:37.716Z] [INFO] GET /api/health 200 1ms
|
||||
[2025-12-28T22:00:10.092Z] [INFO] GET /api/health 200 0ms
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren