| … | … | @@ -344,13 +344,19 @@ export class GitSyncClientManager { |
| 344 | 344 | }) |
| 345 | 345 | |
| 346 | 346 | const stderrBuf = [] |
| 347 | let bytesReceived = 0 |
| 348 | let lastLog = Date.now() |
| 347 | 349 | child.stderr.on('data', (d) => { |
| 348 | | const line = d.toString() |
| 349 | | stderrBuf.push(line) |
| 350 | | // Log progress lines (Receiving/Resolving) for sysadmin visibility |
| 351 | | if (line.includes('Receiving') || line.includes('Resolving') || line.includes('remote:')) { |
| 352 | | const clean = line.replace(/\r/g, '\n').trim() |
| 353 | | if (clean) console.log(`[GitSync] ${repoName}: ${clean}`) |
| 350 | stderrBuf.push(d.toString()) |
| 351 | bytesReceived += d.length |
| 352 | }) |
| 353 | child.stdout.on('data', (d) => { |
| 354 | bytesReceived += d.length |
| 355 | const now = Date.now() |
| 356 | if (now - lastLog > 5000) { // log every 5s |
| 357 | const mb = (bytesReceived / 1024 / 1024).toFixed(1) |
| 358 | console.log(`[GitSync] ${repoName}: ${mb} MB received`) |
| 359 | lastLog = now |
| 354 | 360 | } |
| 355 | 361 | }) |
| 356 | 362 | }) |