Archived
1
0

Fix moving data directory across devices

This commit is contained in:
Asher
2019-03-12 15:45:44 -05:00
parent ba37a34fa2
commit f7c1ebf667
5 changed files with 14 additions and 33 deletions

View File

@ -1,5 +1,5 @@
import * as fse from "fs-extra";
import { field, logger } from "@coder/logger";
import { mkdirP } from "@coder/protocol";
import { ServerMessage, SharedProcessActiveMessage } from "@coder/protocol/src/proto";
import { Command, flags } from "@oclif/command";
import { fork, ForkOptions, ChildProcess } from "child_process";
@ -55,16 +55,15 @@ export class Entry extends Command {
if (!fs.existsSync(dataDir)) {
const oldDataDir = path.resolve(path.join(os.homedir(), ".code-server"));
if (fs.existsSync(oldDataDir)) {
await mkdirP(path.basename(dataDir));
fs.renameSync(oldDataDir, dataDir);
await fse.move(oldDataDir, dataDir);
logger.info(`Moved data directory from ${oldDataDir} to ${dataDir}`);
}
}
await Promise.all([
mkdirP(cacheHome),
mkdirP(dataDir),
mkdirP(workingDir),
fse.mkdirp(cacheHome),
fse.mkdirp(dataDir),
fse.mkdirp(workingDir),
]);
setupNativeModules(dataDir);

View File

@ -1,5 +1,6 @@
import { mkdirp } from "fs-extra";
import { logger, field } from "@coder/logger";
import { mkdirP, ReadWriteConnection } from "@coder/protocol";
import { ReadWriteConnection } from "@coder/protocol";
import { Server, ServerOptions } from "@coder/protocol/src/node/server";
import * as express from "express";
//@ts-ignore
@ -259,7 +260,7 @@ export const createApp = async (options: CreateAppOptions): Promise<{
});
req.on("end", async () => {
const body = data.join("");
await mkdirP(path.dirname(fullPath));
await mkdirp(path.dirname(fullPath));
fs.writeFileSync(fullPath, body);
logger.debug("Wrote resource", field("path", fullPath), field("content-length", body.length));
res.status(200);