Phabricator CR 工作流程

2021-01-06 17:38:08 +08:00
 XiLemon

大概看了一下这篇文章: https://secure.phabricator.com/phame/post/view/766/write_review_merge_publish_phabricator_review_workflow/

Phabricator 是先 review 最后再合并成一个 commit 提交到远端,但是我想的是保留多个 commit,这样可以有一个清晰的历史,请问这个该怎么操作呢?

有熟悉用 Phabricator 做 CR 的 v2er 么,说一说最佳实践呗 :-)

1644 次点击
所在节点    程序员
7 条回复
micookie
2021-01-06 17:49:18 +08:00
比如你 arc diff 的时候提交了 5 次

arc land 的时候会自动读取你 5 次的 git log,写到这个提交的 log 中

我大概记得是这样
CEBBCAT
2021-01-06 18:43:07 +08:00
暂时想不到,等下查查文档。我觉得可以先开通一个特殊权限或者规则规避 reject
EPr2hh6LADQWqRVH
2021-01-06 18:44:39 +08:00
太难了,规格太高! 不 review 不能进代码库,这起码是两个人干一个人的活。。
XiLemon
2021-01-06 21:43:22 +08:00
@micookie #1 arc diff 5 次是会生成 5 个 Differential 么,我还在摸索这个工具怎么用呢
@CEBBCAT #2 老哥啥意思呢
@avastms #3 我觉得 review 过得代码才能进代码库是合理的,可能是我的用法不对,把一个 feat 的代码整成了一个 commit,我是想保留一些历史记录的。成本确实有些高,但我觉得是值得的。可惜感觉公司内部并没有正确的使用这个工具,至少我问过几个老同事,他们也没能说清楚 -_-||
wph95
2021-01-06 22:47:30 +08:00
> 但是我想的是保留多个 commit,这样可以有一个清晰的历史
无法理解。
1. 想保存 commit 来展示各个功能?
按 Phabricator 的逻辑和一些实践。一个 小功能 一个 diff,diff 大了就应当拆成多个。
2. 想保存 commit 展示开发过程和相关上下文?
这不管是 Phabricator,还是 Github,项目大了必然是开启 squash 的,一个 PR/Diff 的开发过程汇入主分支要 squash,没人在主分支关心你的开发上下文。要是想关心,去看 PR/Diff 单个具体历史记录呗。留着污染主分支干啥。
micookie
2021-01-07 09:06:50 +08:00
@XiLemon

arc diff 5 次会产生 5 次 commit 到同一个 revision(评审单)下,推送到 phabricator 的仓库,不会推送到远端仓库。

最后 arc land 的时候才会把 5 次的提交记录合并成 1 次 commit 推送到远端仓库。

phabricator 认为,一个 revision 是一个需求,既然是同一个需求的提交记录,应该合并为同一次 commit 。

即使你想查看每次的 commit 的话,可以在 phabricator 页面上查看,在远端仓库是不会保存详细的提交的。
XiLemon
2021-01-07 11:32:06 +08:00
@wph95 #5
@micookie #6

看来是该转变一下思路了,再摸索摸索,谢谢二位 ^_^!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/742277

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX