Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
bit-pm
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
燕伟桐
bit-pm
Commits
34ea5939
Unverified
提交
34ea5939
authored
6月 09, 2025
作者:
Will Chen
提交者:
GitHub
6月 09, 2025
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix bug with copy app (#371)
Fixes #361
上级
c2696cf1
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
22 行增加
和
12 行删除
+22
-12
app_handlers.ts
src/ipc/handlers/app_handlers.ts
+22
-12
没有找到文件。
src/ipc/handlers/app_handlers.ts
浏览文件 @
34ea5939
...
...
@@ -40,6 +40,25 @@ import { Worker } from "worker_threads";
import
{
createFromTemplate
}
from
"./createFromTemplate"
;
import
{
gitCommit
}
from
"../utils/git_utils"
;
async
function
copyDir
(
source
:
string
,
destination
:
string
,
filter
?:
(
source
:
string
)
=>
boolean
,
)
{
await
fsPromises
.
cp
(
source
,
destination
,
{
recursive
:
true
,
filter
:
(
src
:
string
)
=>
{
if
(
path
.
basename
(
src
)
===
"node_modules"
)
{
return
false
;
}
if
(
filter
)
{
return
filter
(
src
);
}
return
true
;
},
});
}
const
logger
=
log
.
scope
(
"app_handlers"
);
const
handle
=
createLoggedHandler
(
logger
);
...
...
@@ -258,14 +277,11 @@ export function registerAppHandlers() {
// 3. Copy the app folder
try
{
await
fsPromises
.
cp
(
originalAppPath
,
newAppPath
,
{
recursive
:
true
,
filter
:
(
source
:
string
)
=>
{
await
copyDir
(
originalAppPath
,
newAppPath
,
(
source
:
string
)
=>
{
if
(
!
withHistory
&&
path
.
basename
(
source
)
===
".git"
)
{
return
false
;
}
return
true
;
},
});
}
catch
(
error
)
{
logger
.
error
(
"Failed to copy app directory:"
,
error
);
...
...
@@ -744,10 +760,7 @@ export function registerAppHandlers() {
});
// Copy the directory without node_modules
await
fsPromises
.
cp
(
oldAppPath
,
newAppPath
,
{
recursive
:
true
,
filter
:
(
source
)
=>
!
source
.
includes
(
"node_modules"
),
});
await
copyDir
(
oldAppPath
,
newAppPath
);
}
catch
(
error
:
any
)
{
logger
.
error
(
`Error moving app files from
${
oldAppPath
}
to
${
newAppPath
}
:`
,
...
...
@@ -789,10 +802,7 @@ export function registerAppHandlers() {
if
(
newAppPath
!==
oldAppPath
)
{
try
{
// Copy back from new to old
await
fsPromises
.
cp
(
newAppPath
,
oldAppPath
,
{
recursive
:
true
,
filter
:
(
source
)
=>
!
source
.
includes
(
"node_modules"
),
});
await
copyDir
(
newAppPath
,
oldAppPath
);
// Delete the new directory
await
fsPromises
.
rm
(
newAppPath
,
{
recursive
:
true
,
force
:
true
});
}
catch
(
rollbackError
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论