sync-worktrees 1.8.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/index.js +2862 -203
- package/dist/index.js.map +7 -1
- package/package.json +19 -11
- package/dist/constants.d.ts +0 -54
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -66
- package/dist/constants.js.map +0 -1
- package/dist/errors/index.d.ts +0 -51
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -119
- package/dist/errors/index.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/services/config-loader.service.d.ts +0 -9
- package/dist/services/config-loader.service.d.ts.map +0 -1
- package/dist/services/config-loader.service.js +0 -193
- package/dist/services/config-loader.service.js.map +0 -1
- package/dist/services/git.service.d.ts +0 -51
- package/dist/services/git.service.d.ts.map +0 -1
- package/dist/services/git.service.js +0 -749
- package/dist/services/git.service.js.map +0 -1
- package/dist/services/path-resolution.service.d.ts +0 -7
- package/dist/services/path-resolution.service.d.ts.map +0 -1
- package/dist/services/path-resolution.service.js +0 -58
- package/dist/services/path-resolution.service.js.map +0 -1
- package/dist/services/worktree-metadata.service.d.ts +0 -22
- package/dist/services/worktree-metadata.service.d.ts.map +0 -1
- package/dist/services/worktree-metadata.service.js +0 -276
- package/dist/services/worktree-metadata.service.js.map +0 -1
- package/dist/services/worktree-status.service.d.ts +0 -28
- package/dist/services/worktree-status.service.d.ts.map +0 -1
- package/dist/services/worktree-status.service.js +0 -229
- package/dist/services/worktree-status.service.js.map +0 -1
- package/dist/services/worktree-sync.service.d.ts +0 -17
- package/dist/services/worktree-sync.service.d.ts.map +0 -1
- package/dist/services/worktree-sync.service.js +0 -454
- package/dist/services/worktree-sync.service.js.map +0 -1
- package/dist/types/index.d.ts +0 -32
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/types/sync-metadata.d.ts +0 -16
- package/dist/types/sync-metadata.d.ts.map +0 -1
- package/dist/types/sync-metadata.js +0 -3
- package/dist/types/sync-metadata.js.map +0 -1
- package/dist/utils/cli.d.ts +0 -14
- package/dist/utils/cli.d.ts.map +0 -1
- package/dist/utils/cli.js +0 -117
- package/dist/utils/cli.js.map +0 -1
- package/dist/utils/config-generator.d.ts +0 -4
- package/dist/utils/config-generator.d.ts.map +0 -1
- package/dist/utils/config-generator.js +0 -112
- package/dist/utils/config-generator.js.map +0 -1
- package/dist/utils/date-filter.d.ts +0 -10
- package/dist/utils/date-filter.d.ts.map +0 -1
- package/dist/utils/date-filter.js +0 -47
- package/dist/utils/date-filter.js.map +0 -1
- package/dist/utils/git-url.d.ts +0 -15
- package/dist/utils/git-url.d.ts.map +0 -1
- package/dist/utils/git-url.js +0 -46
- package/dist/utils/git-url.js.map +0 -1
- package/dist/utils/interactive.d.ts +0 -3
- package/dist/utils/interactive.d.ts.map +0 -1
- package/dist/utils/interactive.js +0 -195
- package/dist/utils/interactive.js.map +0 -1
- package/dist/utils/lfs-error.d.ts +0 -23
- package/dist/utils/lfs-error.d.ts.map +0 -1
- package/dist/utils/lfs-error.js +0 -45
- package/dist/utils/lfs-error.js.map +0 -1
- package/dist/utils/retry.d.ts +0 -15
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/retry.js +0 -78
- package/dist/utils/retry.js.map +0 -1
|
@@ -1,454 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.WorktreeSyncService = void 0;
|
|
37
|
-
const fs = __importStar(require("fs/promises"));
|
|
38
|
-
const path = __importStar(require("path"));
|
|
39
|
-
const date_filter_1 = require("../utils/date-filter");
|
|
40
|
-
const lfs_error_1 = require("../utils/lfs-error");
|
|
41
|
-
const retry_1 = require("../utils/retry");
|
|
42
|
-
const git_service_1 = require("./git.service");
|
|
43
|
-
class WorktreeSyncService {
|
|
44
|
-
config;
|
|
45
|
-
gitService;
|
|
46
|
-
constructor(config) {
|
|
47
|
-
this.config = config;
|
|
48
|
-
this.gitService = new git_service_1.GitService(config);
|
|
49
|
-
}
|
|
50
|
-
async initialize() {
|
|
51
|
-
await this.gitService.initialize();
|
|
52
|
-
}
|
|
53
|
-
async sync() {
|
|
54
|
-
console.log(`[${new Date().toISOString()}] Starting worktree synchronization...`);
|
|
55
|
-
let lfsSkipEnabled = false;
|
|
56
|
-
const retryOptions = {
|
|
57
|
-
maxAttempts: this.config.retry?.maxAttempts ?? 3,
|
|
58
|
-
maxLfsRetries: this.config.retry?.maxLfsRetries ?? 2,
|
|
59
|
-
initialDelayMs: this.config.retry?.initialDelayMs ?? 1000,
|
|
60
|
-
maxDelayMs: this.config.retry?.maxDelayMs ?? 30000,
|
|
61
|
-
backoffMultiplier: this.config.retry?.backoffMultiplier ?? 2,
|
|
62
|
-
onRetry: (error, attempt, context) => {
|
|
63
|
-
const errorMessage = (0, lfs_error_1.getErrorMessage)(error);
|
|
64
|
-
console.log(`\n⚠️ Sync attempt ${attempt} failed: ${errorMessage}`);
|
|
65
|
-
if (context?.isLfsError && !this.config.skipLfs) {
|
|
66
|
-
console.log(`🔄 LFS error detected. Will retry with LFS skipped...`);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
console.log(`🔄 Retrying synchronization...\n`);
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
lfsRetryHandler: () => {
|
|
73
|
-
if (!this.config.skipLfs && !lfsSkipEnabled) {
|
|
74
|
-
console.log("⚠️ Temporarily disabling LFS downloads for this sync...");
|
|
75
|
-
process.env.GIT_LFS_SKIP_SMUDGE = "1";
|
|
76
|
-
lfsSkipEnabled = true;
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
try {
|
|
81
|
-
await (0, retry_1.retry)(async () => {
|
|
82
|
-
await this.gitService.pruneWorktrees();
|
|
83
|
-
console.log("Step 1: Fetching latest data from remote...");
|
|
84
|
-
try {
|
|
85
|
-
await this.gitService.fetchAll();
|
|
86
|
-
}
|
|
87
|
-
catch (fetchError) {
|
|
88
|
-
const errorMessage = (0, lfs_error_1.getErrorMessage)(fetchError);
|
|
89
|
-
if ((0, lfs_error_1.isLfsError)(errorMessage) && !lfsSkipEnabled && !this.config.skipLfs) {
|
|
90
|
-
console.log("⚠️ Fetch all failed due to LFS error. Attempting branch-by-branch fetch...");
|
|
91
|
-
console.log("⚠️ Temporarily disabling LFS downloads for branch-by-branch fetch...");
|
|
92
|
-
process.env.GIT_LFS_SKIP_SMUDGE = "1";
|
|
93
|
-
lfsSkipEnabled = true;
|
|
94
|
-
await this.fetchBranchByBranch();
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
throw fetchError;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
let remoteBranches;
|
|
101
|
-
if (this.config.branchMaxAge) {
|
|
102
|
-
const branchesWithActivity = await this.gitService.getRemoteBranchesWithActivity();
|
|
103
|
-
const filteredBranches = (0, date_filter_1.filterBranchesByAge)(branchesWithActivity, this.config.branchMaxAge);
|
|
104
|
-
remoteBranches = filteredBranches.map((b) => b.branch);
|
|
105
|
-
console.log(`Found ${branchesWithActivity.length} remote branches.`);
|
|
106
|
-
console.log(`After filtering by age (${(0, date_filter_1.formatDuration)(this.config.branchMaxAge)}): ${remoteBranches.length} branches.`);
|
|
107
|
-
if (branchesWithActivity.length > remoteBranches.length) {
|
|
108
|
-
const excludedCount = branchesWithActivity.length - remoteBranches.length;
|
|
109
|
-
console.log(` - Excluded ${excludedCount} stale branches.`);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
// Use original method if no age filtering
|
|
114
|
-
remoteBranches = await this.gitService.getRemoteBranches();
|
|
115
|
-
console.log(`Found ${remoteBranches.length} remote branches.`);
|
|
116
|
-
}
|
|
117
|
-
// Always retain the default branch, even if excluded by age filters
|
|
118
|
-
const defaultBranch = this.gitService.getDefaultBranch();
|
|
119
|
-
if (!remoteBranches.includes(defaultBranch)) {
|
|
120
|
-
remoteBranches.push(defaultBranch);
|
|
121
|
-
console.log(`Ensuring default branch '${defaultBranch}' is retained.`);
|
|
122
|
-
}
|
|
123
|
-
await fs.mkdir(this.config.worktreeDir, { recursive: true });
|
|
124
|
-
// Get actual Git worktrees instead of just directories
|
|
125
|
-
const worktrees = await this.gitService.getWorktrees();
|
|
126
|
-
const worktreeBranches = worktrees.map((w) => w.branch);
|
|
127
|
-
console.log(`Found ${worktrees.length} existing Git worktrees.`);
|
|
128
|
-
// Clean up orphaned directories
|
|
129
|
-
await this.cleanupOrphanedDirectories(worktrees);
|
|
130
|
-
await this.createNewWorktrees(remoteBranches, worktreeBranches, defaultBranch);
|
|
131
|
-
await this.pruneOldWorktrees(remoteBranches, worktreeBranches);
|
|
132
|
-
// Update existing worktrees if enabled
|
|
133
|
-
if (this.config.updateExistingWorktrees !== false) {
|
|
134
|
-
await this.updateExistingWorktrees(worktrees, remoteBranches);
|
|
135
|
-
}
|
|
136
|
-
await this.gitService.pruneWorktrees();
|
|
137
|
-
console.log("Step 5: Pruned worktree metadata.");
|
|
138
|
-
}, retryOptions);
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
console.error("\n❌ Error during worktree synchronization after all retry attempts:", error);
|
|
142
|
-
throw error;
|
|
143
|
-
}
|
|
144
|
-
finally {
|
|
145
|
-
// Clean up temporary LFS skip if it was enabled
|
|
146
|
-
if (lfsSkipEnabled && !this.config.skipLfs) {
|
|
147
|
-
delete process.env.GIT_LFS_SKIP_SMUDGE;
|
|
148
|
-
}
|
|
149
|
-
console.log(`[${new Date().toISOString()}] Synchronization finished.\n`);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
async createNewWorktrees(remoteBranches, existingWorktreeBranches, defaultBranch) {
|
|
153
|
-
const newBranches = remoteBranches
|
|
154
|
-
.filter((b) => !existingWorktreeBranches.includes(b))
|
|
155
|
-
.filter((b) => b !== defaultBranch);
|
|
156
|
-
if (newBranches.length > 0) {
|
|
157
|
-
console.log(`Step 2: Creating new worktrees for: ${newBranches.join(", ")}`);
|
|
158
|
-
for (const branchName of newBranches) {
|
|
159
|
-
const worktreePath = path.join(this.config.worktreeDir, branchName);
|
|
160
|
-
await this.gitService.addWorktree(branchName, worktreePath);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
console.log("Step 2: No new branches to create worktrees for.");
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
async pruneOldWorktrees(remoteBranches, existingWorktreeBranches) {
|
|
168
|
-
const deletedBranches = existingWorktreeBranches.filter((branch) => !remoteBranches.includes(branch));
|
|
169
|
-
if (deletedBranches.length > 0) {
|
|
170
|
-
console.log(`Step 3: Checking for stale worktrees to prune: ${deletedBranches.join(", ")}`);
|
|
171
|
-
for (const branchName of deletedBranches) {
|
|
172
|
-
const worktreePath = path.join(this.config.worktreeDir, branchName);
|
|
173
|
-
try {
|
|
174
|
-
const isClean = await this.gitService.checkWorktreeStatus(worktreePath);
|
|
175
|
-
const hasUnpushed = await this.gitService.hasUnpushedCommits(worktreePath);
|
|
176
|
-
const hasStash = await this.gitService.hasStashedChanges(worktreePath);
|
|
177
|
-
const hasOperation = await this.gitService.hasOperationInProgress(worktreePath);
|
|
178
|
-
const hasDirtySubmodules = await this.gitService.hasModifiedSubmodules(worktreePath);
|
|
179
|
-
const canDelete = isClean && !hasUnpushed && !hasStash && !hasOperation && !hasDirtySubmodules;
|
|
180
|
-
if (canDelete) {
|
|
181
|
-
await this.gitService.removeWorktree(worktreePath);
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
// Check if upstream is gone for better messaging
|
|
185
|
-
const upstreamGone = hasUnpushed && (await this.gitService.hasUpstreamGone(worktreePath));
|
|
186
|
-
if (upstreamGone) {
|
|
187
|
-
console.warn(` - ⚠️ Cannot automatically remove '${branchName}' - upstream branch was deleted.`);
|
|
188
|
-
console.log(` Please review manually: cd ${worktreePath} && git log`);
|
|
189
|
-
console.log(` If changes were squash-merged, you can safely remove with: git worktree remove ${worktreePath}`);
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
// Log specific reasons for skipping
|
|
193
|
-
const reasons = [];
|
|
194
|
-
if (!isClean)
|
|
195
|
-
reasons.push("uncommitted changes");
|
|
196
|
-
if (hasUnpushed)
|
|
197
|
-
reasons.push("unpushed commits");
|
|
198
|
-
if (hasStash)
|
|
199
|
-
reasons.push("stashed changes");
|
|
200
|
-
if (hasOperation)
|
|
201
|
-
reasons.push("operation in progress");
|
|
202
|
-
if (hasDirtySubmodules)
|
|
203
|
-
reasons.push("modified submodules");
|
|
204
|
-
console.log(` - ⚠️ Skipping removal of '${branchName}' due to: ${reasons.join(", ")}.`);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
catch (error) {
|
|
209
|
-
console.error(` - Error checking worktree '${branchName}':`, error);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
else {
|
|
214
|
-
console.log("Step 3: No stale worktrees to prune.");
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
async fetchBranchByBranch() {
|
|
218
|
-
console.log("Fetching branches individually to isolate LFS errors...");
|
|
219
|
-
// First, get the list of remote branches (this shouldn't fail due to LFS)
|
|
220
|
-
const remoteBranches = await this.gitService.getRemoteBranches();
|
|
221
|
-
console.log(`Found ${remoteBranches.length} remote branches to fetch.`);
|
|
222
|
-
const failedBranches = [];
|
|
223
|
-
let successCount = 0;
|
|
224
|
-
for (const branch of remoteBranches) {
|
|
225
|
-
try {
|
|
226
|
-
await this.gitService.fetchBranch(branch);
|
|
227
|
-
successCount++;
|
|
228
|
-
}
|
|
229
|
-
catch (error) {
|
|
230
|
-
const errorMessage = (0, lfs_error_1.getErrorMessage)(error);
|
|
231
|
-
console.log(` ⚠️ Failed to fetch branch '${branch}': ${errorMessage}`);
|
|
232
|
-
failedBranches.push(branch);
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
console.log(`Branch-by-branch fetch completed: ${successCount}/${remoteBranches.length} successful`);
|
|
236
|
-
if (failedBranches.length > 0) {
|
|
237
|
-
console.log(`⚠️ Failed to fetch ${failedBranches.length} branches due to errors.`);
|
|
238
|
-
console.log(` These branches will be skipped: ${failedBranches.join(", ")}`);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
async updateExistingWorktrees(worktrees, remoteBranches) {
|
|
242
|
-
const worktreesToUpdate = [];
|
|
243
|
-
console.log("Step 4: Checking for worktrees that need updates...");
|
|
244
|
-
// Check for diverged worktrees
|
|
245
|
-
const divergedDir = path.join(this.config.worktreeDir, ".diverged");
|
|
246
|
-
try {
|
|
247
|
-
const diverged = await fs.readdir(divergedDir);
|
|
248
|
-
if (diverged.length > 0) {
|
|
249
|
-
console.log(`📦 Note: ${diverged.length} diverged worktree(s) in ${path.relative(process.cwd(), divergedDir)}`);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
catch {
|
|
253
|
-
// No diverged directory, that's fine
|
|
254
|
-
}
|
|
255
|
-
// Only check worktrees whose branches still exist remotely
|
|
256
|
-
const activeWorktrees = worktrees.filter((w) => remoteBranches.includes(w.branch));
|
|
257
|
-
// Check each active worktree to see if it's behind and clean
|
|
258
|
-
for (const worktree of activeWorktrees) {
|
|
259
|
-
try {
|
|
260
|
-
// First check if the worktree directory actually exists
|
|
261
|
-
try {
|
|
262
|
-
await fs.access(worktree.path);
|
|
263
|
-
}
|
|
264
|
-
catch {
|
|
265
|
-
// Directory doesn't exist, skip it
|
|
266
|
-
continue;
|
|
267
|
-
}
|
|
268
|
-
// Skip if an operation is in progress (merge/rebase/etc.)
|
|
269
|
-
const hasOp = await this.gitService.hasOperationInProgress(worktree.path);
|
|
270
|
-
if (hasOp) {
|
|
271
|
-
continue;
|
|
272
|
-
}
|
|
273
|
-
const isClean = await this.gitService.checkWorktreeStatus(worktree.path);
|
|
274
|
-
if (!isClean) {
|
|
275
|
-
continue; // Skip worktrees with local changes
|
|
276
|
-
}
|
|
277
|
-
// Check if we can fast-forward before attempting update
|
|
278
|
-
const canFastForward = await this.gitService.canFastForward(worktree.path, worktree.branch);
|
|
279
|
-
if (!canFastForward) {
|
|
280
|
-
// Handle diverged branch
|
|
281
|
-
await this.handleDivergedBranch(worktree);
|
|
282
|
-
continue;
|
|
283
|
-
}
|
|
284
|
-
const isBehind = await this.gitService.isWorktreeBehind(worktree.path);
|
|
285
|
-
if (isBehind) {
|
|
286
|
-
worktreesToUpdate.push(worktree);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
catch (error) {
|
|
290
|
-
console.error(` - Error checking worktree '${worktree.branch}':`, error);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
if (worktreesToUpdate.length > 0) {
|
|
294
|
-
console.log(` - Found ${worktreesToUpdate.length} worktrees behind their upstream branches.`);
|
|
295
|
-
for (const worktree of worktreesToUpdate) {
|
|
296
|
-
try {
|
|
297
|
-
console.log(` - Updating worktree '${worktree.branch}'...`);
|
|
298
|
-
await this.gitService.updateWorktree(worktree.path);
|
|
299
|
-
console.log(` ✅ Successfully updated '${worktree.branch}'.`);
|
|
300
|
-
}
|
|
301
|
-
catch (error) {
|
|
302
|
-
// Check if this is specifically a fast-forward error indicating diverged history
|
|
303
|
-
const errorMessage = (0, lfs_error_1.getErrorMessage)(error);
|
|
304
|
-
// Only treat as diverged if it's specifically a fast-forward failure
|
|
305
|
-
// Other errors (network issues, permission problems, etc.) should not trigger divergence handling
|
|
306
|
-
if (errorMessage.includes("Not possible to fast-forward") ||
|
|
307
|
-
errorMessage.includes("fatal: Not possible to fast-forward, aborting") ||
|
|
308
|
-
errorMessage.includes("cannot fast-forward")) {
|
|
309
|
-
console.log(` ⚠️ Branch '${worktree.branch}' cannot be fast-forwarded. Checking for divergence...`);
|
|
310
|
-
try {
|
|
311
|
-
await this.handleDivergedBranch(worktree);
|
|
312
|
-
}
|
|
313
|
-
catch (divergedError) {
|
|
314
|
-
console.error(` ❌ Failed to handle diverged branch '${worktree.branch}':`, divergedError);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
else {
|
|
318
|
-
// Other errors: network issues, permission problems, disk space, etc.
|
|
319
|
-
console.error(` ❌ Failed to update '${worktree.branch}':`, error);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
else {
|
|
325
|
-
console.log(" - All worktrees are up to date.");
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
async cleanupOrphanedDirectories(worktrees) {
|
|
329
|
-
try {
|
|
330
|
-
const worktreeRelativePaths = worktrees.map((w) => path.relative(this.config.worktreeDir, w.path));
|
|
331
|
-
const allDirs = await fs.readdir(this.config.worktreeDir);
|
|
332
|
-
// Filter out special directories like .diverged
|
|
333
|
-
const regularDirs = allDirs.filter((dir) => !dir.startsWith("."));
|
|
334
|
-
// For each directory, check if it's part of any worktree path
|
|
335
|
-
const orphanedDirs = [];
|
|
336
|
-
for (const dir of regularDirs) {
|
|
337
|
-
// Check if this directory is part of any worktree path
|
|
338
|
-
const isPartOfWorktree = worktreeRelativePaths.some((worktreePath) => {
|
|
339
|
-
// Either the directory IS a worktree or it's a parent of a worktree
|
|
340
|
-
return worktreePath === dir || worktreePath.startsWith(dir + path.sep);
|
|
341
|
-
});
|
|
342
|
-
if (!isPartOfWorktree) {
|
|
343
|
-
orphanedDirs.push(dir);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
if (orphanedDirs.length > 0) {
|
|
347
|
-
console.log(`Found ${orphanedDirs.length} orphaned directories: ${orphanedDirs.join(", ")}`);
|
|
348
|
-
for (const dir of orphanedDirs) {
|
|
349
|
-
const dirPath = path.join(this.config.worktreeDir, dir);
|
|
350
|
-
try {
|
|
351
|
-
const stat = await fs.stat(dirPath);
|
|
352
|
-
if (stat.isDirectory()) {
|
|
353
|
-
await fs.rm(dirPath, { recursive: true, force: true });
|
|
354
|
-
console.log(` - Removed orphaned directory: ${dir}`);
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
catch (error) {
|
|
358
|
-
console.error(` - Failed to remove orphaned directory ${dir}:`, error);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
catch (error) {
|
|
364
|
-
console.error("Error during orphaned directory cleanup:", error);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
async handleDivergedBranch(worktree) {
|
|
368
|
-
console.log(`⚠️ Branch '${worktree.branch}' has diverged from upstream. Analyzing...`);
|
|
369
|
-
const treesIdentical = await this.gitService.compareTreeContent(worktree.path, worktree.branch);
|
|
370
|
-
if (treesIdentical) {
|
|
371
|
-
console.log(`✅ Branch '${worktree.branch}' was rebased but files are identical. Resetting to upstream...`);
|
|
372
|
-
await this.gitService.resetToUpstream(worktree.path, worktree.branch);
|
|
373
|
-
console.log(` Successfully updated '${worktree.branch}' to match upstream.`);
|
|
374
|
-
}
|
|
375
|
-
else {
|
|
376
|
-
const hasLocalChanges = await this.hasLocalChangesSinceLastSync(worktree.path);
|
|
377
|
-
if (!hasLocalChanges) {
|
|
378
|
-
console.log(`✅ Branch '${worktree.branch}' has diverged but you made no local changes. Resetting to upstream...`);
|
|
379
|
-
await this.gitService.resetToUpstream(worktree.path, worktree.branch);
|
|
380
|
-
console.log(` Successfully updated '${worktree.branch}' to match upstream.`);
|
|
381
|
-
}
|
|
382
|
-
else {
|
|
383
|
-
console.log(`🔒 Branch '${worktree.branch}' has diverged with local changes. Moving to diverged...`);
|
|
384
|
-
const divergedPath = await this.divergeWorktree(worktree.path, worktree.branch);
|
|
385
|
-
const relativePath = path.relative(process.cwd(), divergedPath);
|
|
386
|
-
console.log(` Moved to: ${relativePath}`);
|
|
387
|
-
console.log(` Your local changes are preserved. To review:`);
|
|
388
|
-
console.log(` cd ${relativePath}`);
|
|
389
|
-
console.log(` git diff origin/${worktree.branch}`);
|
|
390
|
-
await this.gitService.removeWorktree(worktree.path);
|
|
391
|
-
await this.gitService.addWorktree(worktree.branch, worktree.path);
|
|
392
|
-
console.log(` Created fresh worktree from upstream at: ${worktree.path}`);
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
async hasLocalChangesSinceLastSync(worktreePath) {
|
|
397
|
-
try {
|
|
398
|
-
const metadata = await this.gitService.getWorktreeMetadata(worktreePath);
|
|
399
|
-
if (!metadata || !metadata.lastSyncCommit) {
|
|
400
|
-
return true;
|
|
401
|
-
}
|
|
402
|
-
const currentCommit = await this.gitService.getCurrentCommit(worktreePath);
|
|
403
|
-
return currentCommit !== metadata.lastSyncCommit;
|
|
404
|
-
}
|
|
405
|
-
catch {
|
|
406
|
-
return true;
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
async divergeWorktree(worktreePath, branchName) {
|
|
410
|
-
// Create .diverged directory inside worktreeDir
|
|
411
|
-
const divergedBaseDir = path.join(this.config.worktreeDir, ".diverged");
|
|
412
|
-
const timestamp = new Date().toISOString().split("T")[0];
|
|
413
|
-
const uniqueSuffix = Date.now().toString(36) + Math.random().toString(36).substr(2, 5);
|
|
414
|
-
const safeBranchName = branchName.replace(/\//g, "-");
|
|
415
|
-
const divergedName = `${timestamp}-${safeBranchName}-${uniqueSuffix}`;
|
|
416
|
-
const divergedPath = path.join(divergedBaseDir, divergedName);
|
|
417
|
-
// Ensure diverged directory exists
|
|
418
|
-
await fs.mkdir(divergedBaseDir, { recursive: true });
|
|
419
|
-
// Move the worktree directory; on cross-device errors, fall back to copy+remove
|
|
420
|
-
try {
|
|
421
|
-
await fs.rename(worktreePath, divergedPath);
|
|
422
|
-
}
|
|
423
|
-
catch (err) {
|
|
424
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
425
|
-
if (msg.includes("EXDEV")) {
|
|
426
|
-
// Cross-device link not permitted: copy then remove
|
|
427
|
-
await fs.cp(worktreePath, divergedPath, { recursive: true });
|
|
428
|
-
await fs.rm(worktreePath, { recursive: true, force: true });
|
|
429
|
-
}
|
|
430
|
-
else {
|
|
431
|
-
throw err;
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
// Save metadata about why it was moved
|
|
435
|
-
const metadata = {
|
|
436
|
-
originalBranch: branchName,
|
|
437
|
-
divergedAt: new Date().toISOString(),
|
|
438
|
-
reason: "diverged-history-with-changes",
|
|
439
|
-
originalPath: worktreePath,
|
|
440
|
-
localCommit: await this.gitService.getCurrentCommit(divergedPath),
|
|
441
|
-
remoteCommit: await this.gitService.getRemoteCommit(`origin/${branchName}`),
|
|
442
|
-
instruction: `To preserve your changes:
|
|
443
|
-
1. Review: git diff origin/${branchName}
|
|
444
|
-
2. Keep changes: git push --force-with-lease origin ${branchName}
|
|
445
|
-
3. Discard changes: rm -rf this directory
|
|
446
|
-
|
|
447
|
-
Original worktree location: ${worktreePath}`,
|
|
448
|
-
};
|
|
449
|
-
await fs.writeFile(path.join(divergedPath, ".diverged-info.json"), JSON.stringify(metadata, null, 2));
|
|
450
|
-
return divergedPath;
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
exports.WorktreeSyncService = WorktreeSyncService;
|
|
454
|
-
//# sourceMappingURL=worktree-sync.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-sync.service.js","sourceRoot":"","sources":["../../src/services/worktree-sync.service.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export interface RetryConfig {
|
|
2
|
-
maxAttempts?: number | "unlimited";
|
|
3
|
-
maxLfsRetries?: number;
|
|
4
|
-
initialDelayMs?: number;
|
|
5
|
-
maxDelayMs?: number;
|
|
6
|
-
backoffMultiplier?: number;
|
|
7
|
-
}
|
|
8
|
-
export interface Config {
|
|
9
|
-
repoUrl: string;
|
|
10
|
-
worktreeDir: string;
|
|
11
|
-
cronSchedule: string;
|
|
12
|
-
runOnce: boolean;
|
|
13
|
-
bareRepoDir?: string;
|
|
14
|
-
retry?: RetryConfig;
|
|
15
|
-
branchMaxAge?: string;
|
|
16
|
-
skipLfs?: boolean;
|
|
17
|
-
updateExistingWorktrees?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export interface RepositoryConfig extends Config {
|
|
20
|
-
name: string;
|
|
21
|
-
}
|
|
22
|
-
export interface ConfigFile {
|
|
23
|
-
defaults?: Partial<Config>;
|
|
24
|
-
repositories: RepositoryConfig[];
|
|
25
|
-
retry?: RetryConfig;
|
|
26
|
-
}
|
|
27
|
-
export interface WorktreeStatus {
|
|
28
|
-
branchName: string;
|
|
29
|
-
worktreePath: string;
|
|
30
|
-
hasLocalChanges: boolean;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;CAC1B"}
|
package/dist/types/index.js
DELETED
package/dist/types/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface SyncMetadata {
|
|
2
|
-
lastSyncCommit: string;
|
|
3
|
-
lastSyncDate: string;
|
|
4
|
-
upstreamBranch: string;
|
|
5
|
-
createdFrom: {
|
|
6
|
-
branch: string;
|
|
7
|
-
commit: string;
|
|
8
|
-
};
|
|
9
|
-
syncHistory: SyncHistoryEntry[];
|
|
10
|
-
}
|
|
11
|
-
export interface SyncHistoryEntry {
|
|
12
|
-
date: string;
|
|
13
|
-
commit: string;
|
|
14
|
-
action: "created" | "updated" | "fetched";
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=sync-metadata.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-metadata.d.ts","sourceRoot":"","sources":["../../src/types/sync-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CAC3C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-metadata.js","sourceRoot":"","sources":["../../src/types/sync-metadata.ts"],"names":[],"mappings":""}
|
package/dist/utils/cli.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Config } from "../types";
|
|
2
|
-
export interface CliOptions extends Partial<Config> {
|
|
3
|
-
config?: string;
|
|
4
|
-
filter?: string;
|
|
5
|
-
list?: boolean;
|
|
6
|
-
bareRepoDir?: string;
|
|
7
|
-
branchMaxAge?: string;
|
|
8
|
-
skipLfs?: boolean;
|
|
9
|
-
noUpdateExisting?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export declare function parseArguments(): CliOptions;
|
|
12
|
-
export declare function isInteractiveMode(config: Partial<Config>): boolean;
|
|
13
|
-
export declare function reconstructCliCommand(config: Config): string;
|
|
14
|
-
//# sourceMappingURL=cli.d.ts.map
|
package/dist/utils/cli.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/utils/cli.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,UAAW,SAAQ,OAAO,CAAC,MAAM,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,cAAc,IAAI,UAAU,CA4E3C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAElE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAoC5D"}
|