我在Phabricator中有一个开放式修订版(使用Git),并使用arc diff
命令向此修订版提交了一个diff。
问题在于这种差异是坏的,所以我想撤消它并回到之前的差异。
你知道我该怎么办?
答案 0 :(得分:5)
免责声明:我的Git经验有限,目前我正在使用Phabricator和SVN。
假设您没有其他本地更改,则可以还原您的工作副本,然后arc patch --diff <diff_id>
,其中diff ID显示在Revision Update History
表的ID列中。然后像往常一样arc diff --revision <rev_id>
进行更新。我认为它在技术上不是删除,但它与伪修订控制一起使用。将跟踪错误和更正。
答案 1 :(得分:3)
目前不支持此功能。您可以通过遵循altendky推荐的流程或任何类似的流程(即,再次运行arc diff
并使您的工作副本处于正确状态),将坏差异替换为新的良好差异。
这是我们打算最终添加的功能。您可以在此处跟踪上游的进度:
https://secure.phabricator.com/T1081(因未胜利而关闭)
答案 2 :(得分:3)
我经常犯错误的分歧。
第一步是撤消差异。我们无法从修订历史中删除差异,但我们可以将其还原。
$ arc patch --diff <diff_id> # last good diff
$ arc diff --update <revision_id> <branch> # "reverts" the offending diffs to the current state
此时您的修订版已恢复原状。如果你想再次执行差异,那么就做你通常做的事情。 使用针对差异的更改检出分支,然后执行差异。
$ git checkout <new_branch>
$ arc diff <source_branch> # new_branch has changes that is intended to be merged into source_branch
归功于列出大部分步骤的altendky。但是,他引用的revision
标志不再存在,我还希望更清楚地列出这些步骤。