feat(sync): add parallel sync, fix default branch and protected branch issues, add group avatars option

- Set sync concurrency to 10 for faster parallel repo syncing
- Three-phase push: push refs, sync default_branch via API, then push with --prune
- Unprotect stale protected branches on target before pruning
- Handle group visibility 400 errors gracefully (skip visibility, sync description only)
- Add useGroupAvatarsForProjects option: projects without avatars inherit group avatar
- Upgrade @apiclient.xyz/gitlab to v2.3.0 (getProtectedBranches, unprotectBranch)
This commit is contained in:
2026-02-28 17:39:28 +00:00
parent c9a758b417
commit 44ac2e430f
8 changed files with 148 additions and 10 deletions

View File

@@ -71,6 +71,7 @@ export class SyncHandler {
enforceDelete: dataArg.enforceDelete,
enforceGroupDelete: dataArg.enforceGroupDelete,
addMirrorHint: dataArg.addMirrorHint,
useGroupAvatarsForProjects: dataArg.useGroupAvatarsForProjects,
});
this.actionLog.append({
actionType: 'create',
@@ -98,6 +99,7 @@ export class SyncHandler {
enforceDelete: dataArg.enforceDelete,
enforceGroupDelete: dataArg.enforceGroupDelete,
addMirrorHint: dataArg.addMirrorHint,
useGroupAvatarsForProjects: dataArg.useGroupAvatarsForProjects,
});
this.actionLog.append({
actionType: 'update',