Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gzupanda
code-server
提交
f7c1ebf6
C
code-server
项目概览
gzupanda
/
code-server
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
code-server
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
f7c1ebf6
编写于
3月 12, 2019
作者:
A
Asher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix moving data directory across devices
上级
ba37a34f
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
14 addition
and
33 deletion
+14
-33
packages/protocol/src/common/util.ts
packages/protocol/src/common/util.ts
+0
-19
packages/protocol/src/node/server.ts
packages/protocol/src/node/server.ts
+4
-4
packages/server/src/cli.ts
packages/server/src/cli.ts
+5
-6
packages/server/src/server.ts
packages/server/src/server.ts
+3
-2
packages/vscode/src/fill/storageDatabase.ts
packages/vscode/src/fill/storageDatabase.ts
+2
-2
未找到文件。
packages/protocol/src/common/util.ts
浏览文件 @
f7c1ebf6
...
...
@@ -97,22 +97,3 @@ export const parse = (arg: string): any => { // tslint:disable-line no-any
return
arg
?
convert
(
JSON
.
parse
(
arg
))
:
arg
;
};
export
const
mkdirP
=
async
(
path
:
string
):
Promise
<
void
>
=>
{
// Since our fills require this file, we can't import them up top or we get
// circular dependency issue.
const
{
mkdir
}
=
require
(
"
fs
"
)
as
typeof
import
(
"
fs
"
);
const
{
promisify
}
=
require
(
"
util
"
)
as
typeof
import
(
"
util
"
);
const
split
=
path
.
replace
(
/^
\/
*|
\/
*$/g
,
""
).
split
(
"
/
"
);
let
dir
=
""
;
while
(
split
.
length
>
0
)
{
dir
+=
"
/
"
+
split
.
shift
();
try
{
await
promisify
(
mkdir
)(
dir
);
}
catch
(
error
)
{
if
(
error
.
code
!==
"
EEXIST
"
&&
error
.
code
!==
"
EISDIR
"
)
{
throw
error
;
}
}
}
};
packages/protocol/src/node/server.ts
浏览文件 @
f7c1ebf6
import
{
mkdirp
}
from
"
fs-extra
"
;
import
*
as
os
from
"
os
"
;
import
{
logger
,
field
}
from
"
@coder/logger
"
;
import
{
Pong
,
ClientMessage
,
WorkingInitMessage
,
ServerMessage
}
from
"
../proto
"
;
import
{
evaluate
,
ActiveEvaluation
}
from
"
./evaluate
"
;
import
{
ForkProvider
}
from
"
../common/helpers
"
;
import
{
ReadWriteConnection
}
from
"
../common/connection
"
;
import
{
mkdirP
}
from
"
../common/util
"
;
export
interface
ServerOptions
{
readonly
workingDirectory
:
string
;
...
...
@@ -42,9 +42,9 @@ export class Server {
}
Promise
.
all
([
mkdir
P
(
this
.
options
.
cacheDirectory
),
mkdir
P
(
this
.
options
.
dataDirectory
),
mkdir
P
(
this
.
options
.
workingDirectory
),
mkdir
p
(
this
.
options
.
cacheDirectory
),
mkdir
p
(
this
.
options
.
dataDirectory
),
mkdir
p
(
this
.
options
.
workingDirectory
),
]).
catch
((
error
)
=>
{
logger
.
error
(
error
.
message
,
field
(
"
error
"
,
error
));
});
...
...
packages/server/src/cli.ts
浏览文件 @
f7c1ebf6
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
);
...
...
packages/server/src/server.ts
浏览文件 @
f7c1ebf6
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
mkdir
P
(
path
.
dirname
(
fullPath
));
await
mkdir
p
(
path
.
dirname
(
fullPath
));
fs
.
writeFileSync
(
fullPath
,
body
);
logger
.
debug
(
"
Wrote resource
"
,
field
(
"
path
"
,
fullPath
),
field
(
"
content-length
"
,
body
.
length
));
res
.
status
(
200
);
...
...
packages/vscode/src/fill/storageDatabase.ts
浏览文件 @
f7c1ebf6
import
{
readFile
,
writeFile
}
from
"
fs
"
;
import
{
mkdirp
}
from
"
fs-extra
"
;
import
*
as
path
from
"
path
"
;
import
{
promisify
}
from
"
util
"
;
import
{
IDisposable
}
from
"
@coder/disposable
"
;
import
{
logger
,
field
}
from
"
@coder/logger
"
;
import
{
mkdirP
}
from
"
@coder/protocol
"
;
import
{
Event
}
from
"
vs/base/common/event
"
;
import
*
as
workspaceStorage
from
"
vs/base/node/storage
"
;
import
*
as
globalStorage
from
"
vs/platform/storage/node/storageIpc
"
;
...
...
@@ -78,7 +78,7 @@ class StorageDatabase implements workspaceStorage.IStorageDatabase {
}
private
async
save
():
Promise
<
void
>
{
await
mkdir
P
(
path
.
dirname
(
this
.
path
));
await
mkdir
p
(
path
.
dirname
(
this
.
path
));
return
promisify
(
writeFile
)(
this
.
path
,
this
.
content
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录