impel-cli 0.19.0 → 0.19.1
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/package.json +1 -1
- package/src/remote/transfer.js +10 -2
package/package.json
CHANGED
package/src/remote/transfer.js
CHANGED
|
@@ -40,6 +40,14 @@ function writePrivate(filePath, contents) {
|
|
|
40
40
|
try { fs.chmodSync(filePath, 0o600); } catch { /* Best effort on Windows. */ }
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
function localTarEnvironment() {
|
|
44
|
+
// macOS libarchive serializes extended attributes into AppleDouble `._*`
|
|
45
|
+
// entries unless copyfile metadata is explicitly disabled. Those synthetic
|
|
46
|
+
// files make a clean transferred repository appear dirty on Linux even when
|
|
47
|
+
// tar's --no-xattrs option is present.
|
|
48
|
+
return { ...process.env, COPYFILE_DISABLE: "1" };
|
|
49
|
+
}
|
|
50
|
+
|
|
43
51
|
export function inspectRepository(requestedPath = process.cwd()) {
|
|
44
52
|
const requested = path.resolve(requestedPath);
|
|
45
53
|
const candidate = fs.realpathSync(requested);
|
|
@@ -98,7 +106,7 @@ export function createRepositoryTransfer(state, repository) {
|
|
|
98
106
|
"--no-xattrs",
|
|
99
107
|
"--null",
|
|
100
108
|
"-T", paths.fileList,
|
|
101
|
-
], { cwd: repository.root });
|
|
109
|
+
], { cwd: repository.root, env: localTarEnvironment() });
|
|
102
110
|
return paths;
|
|
103
111
|
}
|
|
104
112
|
|
|
@@ -278,7 +286,7 @@ export function transferSessionCheckpoint(state, { provider, sessionId, tenantId
|
|
|
278
286
|
try {
|
|
279
287
|
runCapture(process.env.IMPEL_REMOTE_TAR_BIN || "tar", [
|
|
280
288
|
"-cf", checkpointArchive, "--no-xattrs", "--null", "-T", checkpointList,
|
|
281
|
-
], { cwd: localRoot });
|
|
289
|
+
], { cwd: localRoot, env: localTarEnvironment() });
|
|
282
290
|
sshCapture(state, `mkdir -p ${remoteRoot}`);
|
|
283
291
|
runInteractive(process.env.IMPEL_REMOTE_SSH_BIN || "ssh", sshArgs(state, `tar -xf - -C ${remoteRoot}`), {
|
|
284
292
|
inputFile: checkpointArchive,
|