@camaradesuk/git-worktree-tools 1.1.1 → 1.2.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.
@@ -0,0 +1,424 @@
1
+ import { describe, it, expect, beforeAll, afterAll, beforeEach } from 'vitest';
2
+ import { execSync } from 'child_process';
3
+ import fs from 'fs';
4
+ import path from 'path';
5
+ import os from 'os';
6
+ import * as git from '../lib/git.js';
7
+ import { analyzeGitState, detectScenario } from '../lib/state-detection.js';
8
+ import { executeStateAction, getBranchPoint } from '../lib/newpr/index.js';
9
+ /**
10
+ * Integration tests for newpr flow - specifically testing that uncommitted changes
11
+ * are correctly transferred to new branches created from origin/main.
12
+ *
13
+ * These tests verify the ACTUAL git behavior, not just mocked dependencies.
14
+ */
15
+ describe('newpr integration - uncommitted changes transfer', () => {
16
+ let tempDir;
17
+ let mainRepoDir;
18
+ let bareRepoDir;
19
+ // Create temp directory structure with a bare repo to simulate origin
20
+ beforeAll(() => {
21
+ tempDir = fs.realpathSync.native(fs.mkdtempSync(path.join(os.tmpdir(), 'newpr-integration-test-')));
22
+ // Create a bare repo to act as origin
23
+ bareRepoDir = path.join(tempDir, 'origin.git');
24
+ fs.mkdirSync(bareRepoDir);
25
+ execSync('git init --bare', { cwd: bareRepoDir });
26
+ // Create the main working repo
27
+ mainRepoDir = path.join(tempDir, 'main-repo');
28
+ fs.mkdirSync(mainRepoDir);
29
+ execSync('git init', { cwd: mainRepoDir });
30
+ execSync('git config user.email "test@test.com"', { cwd: mainRepoDir });
31
+ execSync('git config user.name "Test User"', { cwd: mainRepoDir });
32
+ // Create initial commit
33
+ fs.writeFileSync(path.join(mainRepoDir, 'README.md'), '# Test Repo\n');
34
+ execSync('git add .', { cwd: mainRepoDir });
35
+ execSync('git commit -m "Initial commit"', { cwd: mainRepoDir });
36
+ // Rename branch to 'main' for consistency
37
+ execSync('git branch -M main', { cwd: mainRepoDir, stdio: 'ignore' });
38
+ // Add origin and push
39
+ execSync(`git remote add origin "${bareRepoDir}"`, { cwd: mainRepoDir });
40
+ execSync('git push -u origin main', { cwd: mainRepoDir, stdio: 'ignore' });
41
+ });
42
+ afterAll(() => {
43
+ if (tempDir) {
44
+ fs.rmSync(tempDir, { recursive: true, force: true });
45
+ }
46
+ });
47
+ beforeEach(() => {
48
+ // Clean up any test branches first (before checkout to avoid errors)
49
+ const branchesToClean = [
50
+ 'test-feature',
51
+ 'test-feature-staged',
52
+ 'test-feature-both',
53
+ 'test-feature-behind',
54
+ 'test-feature-existing-file',
55
+ 'test-feature-full-flow',
56
+ 'test-feature-from-head',
57
+ ];
58
+ for (const branch of branchesToClean) {
59
+ try {
60
+ execSync(`git branch -D ${branch} 2>/dev/null`, {
61
+ cwd: mainRepoDir,
62
+ stdio: 'ignore',
63
+ });
64
+ }
65
+ catch {
66
+ // Ignore
67
+ }
68
+ }
69
+ // Reset to clean state on main
70
+ execSync('git checkout main', { cwd: mainRepoDir, stdio: 'ignore' });
71
+ execSync('git reset --hard origin/main', { cwd: mainRepoDir, stdio: 'ignore' });
72
+ execSync('git clean -fd', { cwd: mainRepoDir, stdio: 'ignore' });
73
+ });
74
+ /**
75
+ * Create real ActionDeps using actual git operations
76
+ */
77
+ function createRealDeps(cwd) {
78
+ return {
79
+ gitAdd: (addPath, cwdPath) => git.add(addPath, cwdPath ?? cwd),
80
+ gitStash: (options, cwdPath) => git.stash({ message: options.message, keepIndex: options.keepIndex }, cwdPath ?? cwd),
81
+ gitPush: (options, cwdPath) => git.push({ remote: options.remote, branch: options.branch, setUpstream: options.setUpstream }, cwdPath ?? cwd),
82
+ gitCommit: (options, cwdPath) => git.commit({ message: options.message, allowEmpty: options.allowEmpty }, cwdPath ?? cwd),
83
+ };
84
+ }
85
+ /**
86
+ * Helper to get the base branch name - we use 'main' in this test suite
87
+ */
88
+ function getBaseBranch() {
89
+ return 'main';
90
+ }
91
+ describe('Scenario 2b: main_unstaged_same - unstaged changes on main', () => {
92
+ it('detects scenario correctly', () => {
93
+ const baseBranch = getBaseBranch();
94
+ // Create an unstaged file (new, untracked)
95
+ fs.mkdirSync(path.join(mainRepoDir, 'docs'), { recursive: true });
96
+ fs.writeFileSync(path.join(mainRepoDir, 'docs', 'AI-TOOLING-PLAN.md'), '# Plan\n');
97
+ const state = analyzeGitState(baseBranch, mainRepoDir);
98
+ const scenario = detectScenario(state);
99
+ expect(scenario).toBe('main_unstaged_same');
100
+ // Git may report 'docs/' for untracked directories
101
+ expect(state.unstagedFiles.some((f) => f.includes('docs'))).toBe(true);
102
+ });
103
+ it('commit_all action commits unstaged file to new branch from origin/main', () => {
104
+ const baseBranch = getBaseBranch();
105
+ const branchName = 'test-feature';
106
+ // Create an unstaged file (simulating the user's scenario)
107
+ fs.mkdirSync(path.join(mainRepoDir, 'docs'), { recursive: true });
108
+ fs.writeFileSync(path.join(mainRepoDir, 'docs', 'AI-TOOLING-PLAN.md'), '# Plan\n');
109
+ // Verify initial state
110
+ const initialState = analyzeGitState(baseBranch, mainRepoDir);
111
+ expect(detectScenario(initialState)).toBe('main_unstaged_same');
112
+ // Create the action: "Stage all and commit to the new PR branch"
113
+ const action = {
114
+ action: 'commit_all',
115
+ branchFrom: 'origin_main',
116
+ stashUnstaged: false,
117
+ };
118
+ // Execute the action (this stages files)
119
+ const deps = createRealDeps(mainRepoDir);
120
+ const actionResult = executeStateAction(action, 'Test feature', branchName, deps, mainRepoDir);
121
+ expect(actionResult.success).toBe(true);
122
+ // Verify files are staged
123
+ const stagedAfterAction = git.getStagedFiles(mainRepoDir);
124
+ expect(stagedAfterAction).toContain('docs/AI-TOOLING-PLAN.md');
125
+ // Create new branch from origin/main (this is what newpr.ts does)
126
+ const branchPoint = getBranchPoint(action, baseBranch);
127
+ expect(branchPoint).toBe(`origin/${baseBranch}`);
128
+ git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
129
+ // Verify staged files persist after checkout from origin/main.
130
+ // When origin/main equals HEAD (same commit), git preserves the index.
131
+ const stagedAfterCheckout = git.getStagedFiles(mainRepoDir);
132
+ expect(stagedAfterCheckout).toContain('docs/AI-TOOLING-PLAN.md');
133
+ // If staged files existed, commit them
134
+ if (stagedAfterCheckout.length > 0) {
135
+ git.commit({ message: 'feat: Test feature' }, mainRepoDir);
136
+ }
137
+ // Verify the file is in the commit history
138
+ const log = execSync('git log --oneline -1', {
139
+ cwd: mainRepoDir,
140
+ encoding: 'utf8',
141
+ });
142
+ // This SHOULD contain our commit message, but with the bug it won't
143
+ expect(log).toContain('Test feature');
144
+ // Verify the file actually exists in the new branch
145
+ expect(fs.existsSync(path.join(mainRepoDir, 'docs', 'AI-TOOLING-PLAN.md'))).toBe(true);
146
+ });
147
+ });
148
+ describe('Scenario 2a: main_staged_same - staged changes on main', () => {
149
+ it('commit_staged action commits staged file to new branch from origin/main', () => {
150
+ const baseBranch = getBaseBranch();
151
+ const branchName = 'test-feature-staged';
152
+ // Create and stage a file
153
+ fs.mkdirSync(path.join(mainRepoDir, 'src'), { recursive: true });
154
+ fs.writeFileSync(path.join(mainRepoDir, 'src', 'feature.ts'), 'export const x = 1;\n');
155
+ execSync('git add src/feature.ts', { cwd: mainRepoDir });
156
+ // Verify initial state
157
+ const initialState = analyzeGitState(baseBranch, mainRepoDir);
158
+ expect(detectScenario(initialState)).toBe('main_staged_same');
159
+ expect(initialState.stagedFiles).toContain('src/feature.ts');
160
+ // Create the action: "Commit staged changes to the new PR branch"
161
+ const action = {
162
+ action: 'commit_staged',
163
+ branchFrom: 'origin_main',
164
+ stashUnstaged: false,
165
+ };
166
+ // Execute the action (this does nothing for commit_staged)
167
+ const deps = createRealDeps(mainRepoDir);
168
+ const actionResult = executeStateAction(action, 'Test feature staged', branchName, deps, mainRepoDir);
169
+ expect(actionResult.success).toBe(true);
170
+ // Verify files are staged before checkout
171
+ const stagedBefore = git.getStagedFiles(mainRepoDir);
172
+ expect(stagedBefore).toContain('src/feature.ts');
173
+ // Create new branch from origin/main
174
+ const branchPoint = getBranchPoint(action, baseBranch);
175
+ git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
176
+ // Verify staged files persist after checkout from origin/main.
177
+ // When origin/main equals HEAD (same commit), git preserves the index.
178
+ const stagedAfterCheckout = git.getStagedFiles(mainRepoDir);
179
+ expect(stagedAfterCheckout).toContain('src/feature.ts');
180
+ });
181
+ });
182
+ describe('Scenario 2c: main_both_same - both staged and unstaged changes', () => {
183
+ it('commit_staged with stashUnstaged preserves staged and transfers unstaged', () => {
184
+ const baseBranch = getBaseBranch();
185
+ const branchName = 'test-feature-both';
186
+ // Create staged file
187
+ fs.mkdirSync(path.join(mainRepoDir, 'src'), { recursive: true });
188
+ fs.writeFileSync(path.join(mainRepoDir, 'src', 'staged.ts'), 'export const staged = 1;\n');
189
+ execSync('git add src/staged.ts', { cwd: mainRepoDir });
190
+ // Create unstaged file
191
+ fs.writeFileSync(path.join(mainRepoDir, 'src', 'unstaged.ts'), 'export const unstaged = 2;\n');
192
+ // Verify initial state
193
+ const initialState = analyzeGitState(baseBranch, mainRepoDir);
194
+ expect(detectScenario(initialState)).toBe('main_both_same');
195
+ expect(initialState.stagedFiles).toContain('src/staged.ts');
196
+ expect(initialState.unstagedFiles).toContain('src/unstaged.ts');
197
+ // Create the action: "Commit staged to PR branch, move unstaged to new worktree"
198
+ const action = {
199
+ action: 'commit_staged',
200
+ branchFrom: 'origin_main',
201
+ stashUnstaged: true,
202
+ };
203
+ // Execute the action
204
+ const deps = createRealDeps(mainRepoDir);
205
+ const actionResult = executeStateAction(action, 'Test feature both', branchName, deps, mainRepoDir);
206
+ expect(actionResult.success).toBe(true);
207
+ // Verify staged files are still staged before checkout
208
+ const stagedBefore = git.getStagedFiles(mainRepoDir);
209
+ expect(stagedBefore).toContain('src/staged.ts');
210
+ // Create new branch from origin/main
211
+ const branchPoint = getBranchPoint(action, baseBranch);
212
+ git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
213
+ // Verify staged files persist after checkout from origin/main.
214
+ // When origin/main equals HEAD (same commit), git preserves the index.
215
+ const stagedAfterCheckout = git.getStagedFiles(mainRepoDir);
216
+ expect(stagedAfterCheckout).toContain('src/staged.ts');
217
+ });
218
+ });
219
+ describe('Scenario: main branch BEHIND origin/main (ancestor relationship)', () => {
220
+ it('commit_all when local main is behind origin/main preserves staged files', () => {
221
+ const baseBranch = getBaseBranch();
222
+ const branchName = 'test-feature-behind';
223
+ // Simulate origin/main being ahead by adding a commit to the bare repo
224
+ // Create a temporary clone, add a commit, push
225
+ const tempClone = path.join(tempDir, 'temp-clone');
226
+ execSync(`git clone "${bareRepoDir}" "${tempClone}"`, { stdio: 'ignore' });
227
+ execSync('git config user.email "test@test.com"', { cwd: tempClone });
228
+ execSync('git config user.name "Test User"', { cwd: tempClone });
229
+ // Checkout origin/main to properly track (clone warning about nonexistent ref)
230
+ execSync('git checkout -B main origin/main', { cwd: tempClone, stdio: 'ignore' });
231
+ fs.writeFileSync(path.join(tempClone, 'upstream-change.txt'), 'upstream change\n');
232
+ execSync('git add .', { cwd: tempClone });
233
+ execSync('git commit -m "Upstream change"', { cwd: tempClone });
234
+ execSync('git push origin main', { cwd: tempClone, stdio: 'ignore' });
235
+ fs.rmSync(tempClone, { recursive: true, force: true });
236
+ // Fetch in main repo to get the new origin/main
237
+ execSync('git fetch origin', { cwd: mainRepoDir, stdio: 'ignore' });
238
+ // Now local main is BEHIND origin/main
239
+ const behindCheck = execSync('git rev-list HEAD..origin/main --count', {
240
+ cwd: mainRepoDir,
241
+ encoding: 'utf8',
242
+ }).trim();
243
+ expect(parseInt(behindCheck)).toBeGreaterThan(0);
244
+ // Create an unstaged file (simulating the user's scenario)
245
+ const docsDir = path.join(mainRepoDir, 'docs');
246
+ const planFile = path.join(docsDir, 'AI-TOOLING-PLAN.md');
247
+ fs.mkdirSync(docsDir, { recursive: true });
248
+ fs.writeFileSync(planFile, '# Plan\n');
249
+ // Debug: verify file exists
250
+ expect(fs.existsSync(planFile)).toBe(true);
251
+ // Verify initial state
252
+ const initialState = analyzeGitState(baseBranch, mainRepoDir);
253
+ // The relationship is 'ancestor' (HEAD is an ancestor of origin/main)
254
+ // which semantically means "behind" - local main is behind origin/main
255
+ expect(initialState.commitRelationship).toBe('ancestor');
256
+ expect(initialState.workingTreeStatus).toBe('unstaged_only');
257
+ // After fix: detectScenario now handles 'ancestor' for main branch
258
+ expect(detectScenario(initialState)).toBe('main_unstaged_same');
259
+ // Create the action: "Stage all and commit to the new PR branch"
260
+ const action = {
261
+ action: 'commit_all',
262
+ branchFrom: 'origin_main',
263
+ stashUnstaged: false,
264
+ };
265
+ // Execute the action (this stages files)
266
+ const deps = createRealDeps(mainRepoDir);
267
+ const actionResult = executeStateAction(action, 'Test feature', branchName, deps, mainRepoDir);
268
+ expect(actionResult.success).toBe(true);
269
+ // Verify files are staged
270
+ const stagedAfterAction = git.getStagedFiles(mainRepoDir);
271
+ expect(stagedAfterAction).toContain('docs/AI-TOOLING-PLAN.md');
272
+ // Create new branch from origin/main (this is what newpr.ts does)
273
+ const branchPoint = getBranchPoint(action, baseBranch);
274
+ expect(branchPoint).toBe(`origin/${baseBranch}`);
275
+ git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
276
+ // Verify staged files persist after checkout from origin/main.
277
+ // For NEW files that don't exist in origin/main, git preserves them
278
+ // in the index even when the checkout updates the working tree.
279
+ const stagedAfterCheckout = git.getStagedFiles(mainRepoDir);
280
+ expect(stagedAfterCheckout).toContain('docs/AI-TOOLING-PLAN.md');
281
+ });
282
+ });
283
+ describe('Edge case: modifying EXISTING file when behind origin/main', () => {
284
+ it('git refuses checkout when staged changes conflict with upstream', () => {
285
+ const baseBranch = getBaseBranch();
286
+ const branchName = 'test-feature-existing-file';
287
+ // Simulate origin/main being ahead by adding a commit to the bare repo
288
+ const tempClone = path.join(tempDir, 'temp-clone-2');
289
+ execSync(`git clone "${bareRepoDir}" "${tempClone}"`, { stdio: 'ignore' });
290
+ execSync('git config user.email "test@test.com"', { cwd: tempClone });
291
+ execSync('git config user.name "Test User"', { cwd: tempClone });
292
+ execSync('git checkout -B main origin/main', { cwd: tempClone, stdio: 'ignore' });
293
+ // Modify the README (which exists in both local and origin)
294
+ fs.appendFileSync(path.join(tempClone, 'README.md'), '\n## Upstream changes\n');
295
+ execSync('git add .', { cwd: tempClone });
296
+ execSync('git commit -m "Upstream README change"', { cwd: tempClone });
297
+ execSync('git push origin main', { cwd: tempClone, stdio: 'ignore' });
298
+ fs.rmSync(tempClone, { recursive: true, force: true });
299
+ // Fetch in main repo to get the new origin/main
300
+ execSync('git fetch origin', { cwd: mainRepoDir, stdio: 'ignore' });
301
+ // Verify local main is behind
302
+ const behindCheck = execSync('git rev-list HEAD..origin/main --count', {
303
+ cwd: mainRepoDir,
304
+ encoding: 'utf8',
305
+ }).trim();
306
+ expect(parseInt(behindCheck)).toBeGreaterThan(0);
307
+ // Modify README.md locally (an existing file that also changed in origin)
308
+ // This simulates the user making changes to a file that has upstream changes
309
+ fs.appendFileSync(path.join(mainRepoDir, 'README.md'), '\n## Local changes\n');
310
+ // Stage the change
311
+ execSync('git add README.md', { cwd: mainRepoDir });
312
+ // Verify it's staged
313
+ const stagedBefore = git.getStagedFiles(mainRepoDir);
314
+ expect(stagedBefore).toContain('README.md');
315
+ // Create the action
316
+ const action = {
317
+ action: 'commit_staged',
318
+ branchFrom: 'origin_main',
319
+ stashUnstaged: false,
320
+ };
321
+ // Execute the action (nothing to do for commit_staged)
322
+ const deps = createRealDeps(mainRepoDir);
323
+ const actionResult = executeStateAction(action, 'Test feature', branchName, deps, mainRepoDir);
324
+ expect(actionResult.success).toBe(true);
325
+ // Now checkout from origin/main
326
+ const branchPoint = getBranchPoint(action, baseBranch);
327
+ // This should fail because there's a conflict between local staged changes
328
+ // and upstream changes to the same file
329
+ let checkoutError = null;
330
+ try {
331
+ git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
332
+ }
333
+ catch (e) {
334
+ checkoutError = e;
335
+ }
336
+ // Git will either:
337
+ // 1. Refuse the checkout (conflict) - checkoutError is set
338
+ // 2. Preserve staged changes - stagedAfterCheckout contains README.md
339
+ if (checkoutError) {
340
+ // Git refused the checkout due to conflicting changes - this is expected.
341
+ // When a file has both local staged changes AND upstream changes,
342
+ // git protects the user by refusing the checkout.
343
+ console.log('Git refused checkout due to conflict (expected behavior)');
344
+ expect(checkoutError.message).toContain('overwritten');
345
+ }
346
+ else {
347
+ // Git allowed checkout - verify staged changes are preserved.
348
+ // This branch handles the case where git finds a way to merge cleanly.
349
+ const stagedAfterCheckout = git.getStagedFiles(mainRepoDir);
350
+ expect(stagedAfterCheckout).toContain('README.md');
351
+ }
352
+ });
353
+ });
354
+ describe('Full flow: file ends up in worktree, not main', () => {
355
+ it('uncommitted file is committed to branch and available in worktree', () => {
356
+ const baseBranch = getBaseBranch();
357
+ const branchName = 'test-feature-full-flow';
358
+ // Create an unstaged file
359
+ fs.mkdirSync(path.join(mainRepoDir, 'docs'), { recursive: true });
360
+ const testFile = path.join(mainRepoDir, 'docs', 'AI-TOOLING-PLAN.md');
361
+ fs.writeFileSync(testFile, '# Plan\n');
362
+ // Stage files (what executeStateAction does for commit_all)
363
+ git.add('.', mainRepoDir);
364
+ // Verify staged
365
+ expect(git.getStagedFiles(mainRepoDir)).toContain('docs/AI-TOOLING-PLAN.md');
366
+ // Create new branch from origin/main
367
+ git.exec(['checkout', '-b', branchName, `origin/${baseBranch}`], { cwd: mainRepoDir });
368
+ // Verify still staged after checkout
369
+ expect(git.getStagedFiles(mainRepoDir)).toContain('docs/AI-TOOLING-PLAN.md');
370
+ // Commit (what newpr does)
371
+ git.commit({ message: 'feat: Test feature\n\n🤖 Created with newpr' }, mainRepoDir);
372
+ // Verify file is committed (not staged anymore)
373
+ expect(git.getStagedFiles(mainRepoDir)).not.toContain('docs/AI-TOOLING-PLAN.md');
374
+ // Verify file exists in working tree
375
+ expect(fs.existsSync(testFile)).toBe(true);
376
+ // Go back to original branch (what newpr does)
377
+ git.checkout(baseBranch, mainRepoDir);
378
+ // KEY CHECK: File should NOT exist in main worktree after checkout back
379
+ // because it was only committed to the feature branch
380
+ expect(fs.existsSync(testFile)).toBe(false);
381
+ // Create worktree (what newpr does)
382
+ const worktreePath = path.join(tempDir, 'test-worktree');
383
+ git.addWorktree(worktreePath, branchName, { cwd: mainRepoDir });
384
+ // KEY CHECK: File SHOULD exist in the worktree
385
+ const fileInWorktree = path.join(worktreePath, 'docs', 'AI-TOOLING-PLAN.md');
386
+ expect(fs.existsSync(fileInWorktree)).toBe(true);
387
+ // Clean up worktree
388
+ git.removeWorktree(worktreePath, { cwd: mainRepoDir });
389
+ });
390
+ });
391
+ describe('Contrast: branching from HEAD preserves staged files', () => {
392
+ it('use_commits_and_commit_all from HEAD preserves staged files', () => {
393
+ const baseBranch = getBaseBranch();
394
+ const branchName = 'test-feature-from-head';
395
+ // First create a local commit so we can branch from HEAD
396
+ fs.writeFileSync(path.join(mainRepoDir, 'local-commit.txt'), 'local commit\n');
397
+ execSync('git add local-commit.txt', { cwd: mainRepoDir });
398
+ execSync('git commit -m "Local commit"', { cwd: mainRepoDir });
399
+ // Now create an unstaged file
400
+ fs.mkdirSync(path.join(mainRepoDir, 'docs'), { recursive: true });
401
+ fs.writeFileSync(path.join(mainRepoDir, 'docs', 'new-file.md'), '# New\n');
402
+ // Create the action: use commits and commit all (branches from HEAD)
403
+ const action = {
404
+ action: 'use_commits_and_commit_all',
405
+ branchFrom: 'head',
406
+ stashUnstaged: false,
407
+ };
408
+ // Execute the action (this stages files)
409
+ const deps = createRealDeps(mainRepoDir);
410
+ executeStateAction(action, 'Test from head', branchName, deps, mainRepoDir);
411
+ // Verify files are staged
412
+ const stagedAfterAction = git.getStagedFiles(mainRepoDir);
413
+ expect(stagedAfterAction).toContain('docs/new-file.md');
414
+ // Create new branch from HEAD
415
+ const branchPoint = getBranchPoint(action, baseBranch);
416
+ expect(branchPoint).toBe('HEAD');
417
+ git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
418
+ // When branching from HEAD, staged files ARE preserved
419
+ const stagedAfterCheckout = git.getStagedFiles(mainRepoDir);
420
+ expect(stagedAfterCheckout).toContain('docs/new-file.md');
421
+ });
422
+ });
423
+ });
424
+ //# sourceMappingURL=newpr.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newpr.integration.test.js","sourceRoot":"","sources":["../../src/integration/newpr.integration.test.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export interface WorktreeConfig {
34
34
  syncPatterns?: string[];
35
35
  /**
36
36
  * Branch name prefix for auto-generated branches
37
- * Default: "claude"
37
+ * Default: "feat"
38
38
  */
39
39
  branchPrefix?: string;
40
40
  }
@@ -17,22 +17,22 @@ describe('config', () => {
17
17
  expect(config.worktreeParent).toBe('..');
18
18
  expect(config.sharedRepos).toEqual([]);
19
19
  expect(config.syncPatterns).toEqual([]);
20
- expect(config.branchPrefix).toBe('claude');
20
+ expect(config.branchPrefix).toBe('feat');
21
21
  });
22
22
  });
23
23
  describe('generateBranchName', () => {
24
24
  const config = getDefaultConfig();
25
25
  it('should generate branch name from description', () => {
26
26
  const branch = generateBranchName(config, 'Add user authentication feature');
27
- expect(branch).toMatch(/^claude\/add-user-authentication-feature-[a-z0-9]+$/);
27
+ expect(branch).toMatch(/^feat\/add-user-authentication-feature-[a-z0-9]+$/);
28
28
  });
29
29
  it('should handle uppercase in description', () => {
30
30
  const branch = generateBranchName(config, 'Fix BUG in API');
31
- expect(branch).toMatch(/^claude\/fix-bug-in-api-[a-z0-9]+$/);
31
+ expect(branch).toMatch(/^feat\/fix-bug-in-api-[a-z0-9]+$/);
32
32
  });
33
33
  it('should handle special characters', () => {
34
34
  const branch = generateBranchName(config, "Add user's profile (v2)!");
35
- expect(branch).toMatch(/^claude\/add-user-s-profile-v2-[a-z0-9]+$/);
35
+ expect(branch).toMatch(/^feat\/add-user-s-profile-v2-[a-z0-9]+$/);
36
36
  });
37
37
  it('should truncate long descriptions', () => {
38
38
  const longDesc = 'This is a very long description that should be truncated to a reasonable length for a git branch name';
@@ -43,7 +43,7 @@ describe('config', () => {
43
43
  it('should handle empty description', () => {
44
44
  const branch = generateBranchName(config, '');
45
45
  // Empty description results in empty slug, so branch is prefix/-suffix
46
- expect(branch).toMatch(/^claude\/-[a-z0-9]+$/);
46
+ expect(branch).toMatch(/^feat\/-[a-z0-9]+$/);
47
47
  });
48
48
  it('should use custom branch prefix', () => {
49
49
  const customConfig = { ...config, branchPrefix: 'feature' };
@@ -154,7 +154,7 @@ describe('config', () => {
154
154
  expect(config.worktreeParent).toBe('..');
155
155
  expect(config.sharedRepos).toEqual([]);
156
156
  expect(config.syncPatterns).toEqual([]);
157
- expect(config.branchPrefix).toBe('claude');
157
+ expect(config.branchPrefix).toBe('feat');
158
158
  });
159
159
  });
160
160
  });
@@ -1 +1 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/lib/config.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/lib/config.test.ts"],"names":[],"mappings":"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"}
@@ -33,5 +33,5 @@ export declare const DEFAULT_WORKTREE_PARENT = "..";
33
33
  /**
34
34
  * Default branch name prefix for auto-generated branches
35
35
  */
36
- export declare const DEFAULT_BRANCH_PREFIX = "claude";
36
+ export declare const DEFAULT_BRANCH_PREFIX = "feat";
37
37
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,oBAAoB,UAAgC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAAsC,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,oBAAoB,UAAgC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAAsC,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,qBAAqB,SAAS,CAAC"}
@@ -33,5 +33,5 @@ export const DEFAULT_WORKTREE_PARENT = '..';
33
33
  /**
34
34
  * Default branch name prefix for auto-generated branches
35
35
  */
36
- export const DEFAULT_BRANCH_PREFIX = 'claude';
36
+ export const DEFAULT_BRANCH_PREFIX = 'feat';
37
37
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAErE;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAErE;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-detection.d.ts","sourceRoot":"","sources":["../../src/lib/state-detection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGtE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,aAAa,GAAG,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,eAAe,GACf,aAAa,CAAC;AAElB;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAoBjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAW7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,GAAE,MAA4B,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAyBhG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAqExD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA2BjE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAM3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1D"}
1
+ {"version":3,"file":"state-detection.d.ts","sourceRoot":"","sources":["../../src/lib/state-detection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGtE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,aAAa,GAAG,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,eAAe,GACf,aAAa,CAAC;AAElB;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAoBjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAW7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,GAAE,MAA4B,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAyBhG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CA0ExD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA2BjE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAM3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1D"}
@@ -75,8 +75,11 @@ export function detectScenario(state) {
75
75
  }
76
76
  // On main branch scenarios (1-4)
77
77
  if (branchType === 'main') {
78
- if (commitRelationship === 'same' || commitRelationship === 'behind') {
79
- // Same as origin/main, or behind origin/main (both can branch from origin/main)
78
+ if (commitRelationship === 'same' ||
79
+ commitRelationship === 'behind' ||
80
+ commitRelationship === 'ancestor') {
81
+ // Same as origin/main, behind, or ancestor (all can branch from origin/main)
82
+ // 'ancestor' means HEAD is an ancestor of origin/main (i.e., local is behind)
80
83
  switch (workingTreeStatus) {
81
84
  case 'clean':
82
85
  return 'main_clean_same'; // Scenario 1