PGYER / codefever

CodeFever 是完全免费开源的 Git 代码托管服务,支持一行命令安装到自己服务器!CodeFever Community Edition (A Self-hosted Git Services)!
https://codefever.cn
MIT License
2.69k stars 281 forks source link

请问 fork 副本仓库向源仓库发起 mr的时候,为什么是在临时目录 先clone目标仓库 在fetch 源仓库,为什么不在目标仓库直接fetch 源仓库,使用中间临时目录的目的是啥呢?看起来会多一次clone影响效率吧? #107

Closed coding-devops closed 2 years ago

cubicwork commented 2 years ago

@coding-devops 所有的 MR 都是在临时仓库里完成的,为了保证目标仓库状态不被损坏。

coding-devops commented 2 years ago

@coding-devops 所有的 MR 都是在临时仓库里完成的,为了保证目标仓库状态不被损坏。

可否请教下,为什么目标仓库状态会出现损坏呢?

cubicwork commented 2 years ago

@coding-devops 这里说的损坏严格意义的将是状态被改变,是状态可能会被被改变。如果合并操作后 合并失败了或者有冲突,目标的仓库的状态会变成 fetch 后的状态并不是合并操作前的状态,这是不对的。应该是:合并操作如果失败,目标仓库状态应该回退到 fetch 之前的。