spindb 0.51.2 → 0.51.3
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/dist/config/version.js +1 -1
- package/dist/core/cow-copy.js +19 -2
- package/dist/core/cow-copy.js.map +1 -1
- package/package.json +1 -1
package/dist/config/version.js
CHANGED
package/dist/core/cow-copy.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* example, `spindb branch --json` reports `"method": "reflink"` vs `"copy"` so
|
|
13
13
|
* consumers know whether the branch was instant or a full copy.
|
|
14
14
|
*/
|
|
15
|
-
import { cp, rm, writeFile } from 'fs/promises';
|
|
15
|
+
import { cp, rm, writeFile, lstat } from 'fs/promises';
|
|
16
16
|
import { join } from 'path';
|
|
17
17
|
import { spawnAsync } from './spawn-utils.js';
|
|
18
18
|
import { logDebug } from './error-handler.js';
|
|
@@ -74,7 +74,24 @@ async function fallbackToDeepCopy(src, dst, error) {
|
|
|
74
74
|
return 'copy';
|
|
75
75
|
}
|
|
76
76
|
async function deepCopy(src, dst) {
|
|
77
|
-
await cp(src, dst, {
|
|
77
|
+
await cp(src, dst, {
|
|
78
|
+
recursive: true,
|
|
79
|
+
// Node's fs.cp throws ERR_FS_CP_SOCKET on socket/FIFO entries — e.g. a
|
|
80
|
+
// running PgBouncer's `.s.PGSQL` unix socket that lives inside a Postgres
|
|
81
|
+
// data dir — which fails the whole branch on a full (non-reflink) copy.
|
|
82
|
+
// These are ephemeral runtime artifacts the branch's own processes recreate
|
|
83
|
+
// on start, so skip any non-regular, non-directory, non-symlink entry.
|
|
84
|
+
filter: async (source) => {
|
|
85
|
+
try {
|
|
86
|
+
const st = await lstat(source);
|
|
87
|
+
return st.isFile() || st.isDirectory() || st.isSymbolicLink();
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Can't stat it (e.g. it vanished mid-copy) — don't try to copy it.
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
});
|
|
78
95
|
}
|
|
79
96
|
/**
|
|
80
97
|
* Probe whether the filesystem backing `probeDir` supports copy-on-write
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cow-copy.js","sourceRoot":"","sources":["../../core/cow-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"cow-copy.js","sourceRoot":"","sources":["../../core/cow-copy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spindb",
|
|
3
|
-
"version": "0.51.
|
|
3
|
+
"version": "0.51.3",
|
|
4
4
|
"author": "Bob Bass <bob@bbass.co>",
|
|
5
5
|
"license": "PolyForm-Noncommercial-1.0.0",
|
|
6
6
|
"description": "Zero-config Docker-free local database containers. Create, backup, and clone a variety of popular databases.",
|