worktree-add 2.0.1 → 2.0.2
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
CHANGED
|
@@ -20,7 +20,8 @@ Running `worktree-add <branch>` from inside a repo:
|
|
|
20
20
|
- or creates a tracking branch from `origin/<branch>`
|
|
21
21
|
- or creates a new branch from the current `HEAD` (only when the branch does not exist on `origin/`, or when you pass `--offline` and `origin/` can’t be reached)
|
|
22
22
|
7. Copies untracked / ignored files into the new worktree, skipping heavy stuff
|
|
23
|
-
(`node_modules`, `dist`, `.next`, caches, virtualenvs, etc.)
|
|
23
|
+
(`node_modules`, `dist`, `.next`, caches, virtualenvs, etc.) and sockets and
|
|
24
|
+
FIFOs, which can't be copied.
|
|
24
25
|
8. Detects your package manager and installs dependencies with lockfile‑safe flags
|
|
25
26
|
(`npm ci`, `pnpm install --frozen-lockfile`, `yarn install --immutable`, etc.).
|
|
26
27
|
9. If the project uses Next.js and supports it, runs `next typegen`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"untracked-file-copy.d.ts","sourceRoot":"","sources":["../../src/worktree/untracked-file-copy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"untracked-file-copy.d.ts","sourceRoot":"","sources":["../../src/worktree/untracked-file-copy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAkBtE,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,GACpD,OAAO,CAAC,IAAI,CAAC,CA6Ff"}
|
|
@@ -5,6 +5,16 @@ import { git } from "../git/git.js";
|
|
|
5
5
|
import { fallbackStatusLogger } from "../output/create-status-logger.js";
|
|
6
6
|
import { isGeneratedPath } from "./is-generated-path.js";
|
|
7
7
|
const hasErrorCode = (error, ...codes) => error instanceof Error && "code" in error && codes.includes(String(error.code));
|
|
8
|
+
// Nested clones are copied whole, and fs.cp throws on their sockets (Git's fsmonitor) and FIFOs.
|
|
9
|
+
function describeUncopyableFile(stats) {
|
|
10
|
+
if (stats.isSocket()) {
|
|
11
|
+
return "socket";
|
|
12
|
+
}
|
|
13
|
+
if (stats.isFIFO()) {
|
|
14
|
+
return "FIFO";
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
8
18
|
export async function copyUntrackedFiles(repoRoot, destinationDirectory, options) {
|
|
9
19
|
const logger = options?.logger ?? fallbackStatusLogger;
|
|
10
20
|
const dryRun = options?.dryRun ?? false;
|
|
@@ -64,6 +74,14 @@ export async function copyUntrackedFiles(repoRoot, destinationDirectory, options
|
|
|
64
74
|
force: false,
|
|
65
75
|
mode: constants.COPYFILE_EXCL,
|
|
66
76
|
verbatimSymlinks: true,
|
|
77
|
+
filter: async (source) => {
|
|
78
|
+
const uncopyableFile = describeUncopyableFile(await fs.lstat(source));
|
|
79
|
+
if (uncopyableFile === undefined) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
logger.detail(`Skipped ${path.relative(repoRoot, source)} (${uncopyableFile}).`);
|
|
83
|
+
return false;
|
|
84
|
+
},
|
|
67
85
|
});
|
|
68
86
|
}
|
|
69
87
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"untracked-file-copy.js","sourceRoot":"","sources":["../../src/worktree/untracked-file-copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"untracked-file-copy.js","sourceRoot":"","sources":["../../src/worktree/untracked-file-copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,GAAG,KAAe,EAAW,EAAE,CACnE,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAElF,iGAAiG;AACjG,SAAS,sBAAsB,CAAC,KAAY;IAC1C,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,oBAA4B,EAC5B,OAAqD;IAErD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,oBAAoB,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IAExC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,mGAAmG;IACnG,4DAA4D;IAC5D,MAAM,cAAc,GAAG;QACrB,GAAG,GAAG,CACJ,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,IAAI,EAAE,yCAAyC;QAC/C,EAAE,GAAG,EAAE,QAAQ,EAAE,CAClB;aACE,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC;QAClB,GAAG,GAAG,CACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,IAAI,EAAE,yCAAyC;QAC/C,EAAE,GAAG,EAAE,QAAQ,EAAE,CAClB;aACE,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC;KACnB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE,CAAC;QAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACnE,MAAM,eAAe,GACnB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAC/B,cAAc,KAAK,IAAI;YACvB,cAAc,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,YAAY,YAAY,4BAA4B,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,kBAAkB,CAAC;QACtC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;QACtE,MAAM,iBAAiB,GAAG,MAAM,EAAE;aAC/B,KAAK,CAAC,eAAe,CAAC;aACtB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aAChB,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACL,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,CAAC,MAAM,CAAC,WAAW,YAAY,gCAAgC,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE;gBACvC,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,SAAS,CAAC,aAAa;gBAC7B,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBACvB,MAAM,cAAc,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;wBACjC,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,cAAc,IAAI,CAAC,CAAC;oBACjF,OAAO,KAAK,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,MAAM,CAAC,WAAW,YAAY,gCAAgC,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,UAAU,YAAY,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED