标签: arcanist

合并到第一个分支后合并分支的分支在合并到主分支时被压扁

这是我在工作中经常处理的工作流程.

git checkout -b feature_branch
# Do some development
git add .
git commit
git push origin feature_branch
Run Code Online (Sandbox Code Playgroud)

此时,我的同事们正在审查功能部门,但我希望继续开发其他依赖的功能feature_branch.所以feature_branch在审查中......

git checkout feature_branch
git checkout -b dependent_branch
# Do some more development
git add .
git commit
Run Code Online (Sandbox Code Playgroud)

现在我做了一些更改以响应feature_branch上的代码审查

git checkout feature_branch
# Do review fixes
git add .
git commit
git checkout dependent_branch
git merge feature_branch
Run Code Online (Sandbox Code Playgroud)

现在这是我们遇到问题的地方.我们在master上有一个squash策略,这意味着合并到master中的功能分支必须压缩成一个提交.

git checkout feature_branch
git log # Look for hash at beginning of branch
git rebase -i  first_hash_of_branch # Squash feature_branch …
Run Code Online (Sandbox Code Playgroud)

git squash arcanist

66
推荐指数
1
解决办法
6601
查看次数

你可以对特定的git分支进行区分吗?

我对Arcanist和git都很陌生.我希望能够针对我目前检出/工作的git分支创建一个arc diff(使用Arcanist的Phabricator Differential实例)(我有一个本地未推送的提交)而不是master.对我而言,弧形文档对此并不清楚.可能吗?怎么样?如果答案适用于2-3个本地未推送的提交,那将是很好的.

"arc help diff"也给出了:

      diff [paths] (svn)
      diff [commit] (git, hg)
          Supports: git, svn, hg
          Generate a Differential diff or revision from local changes.

          Under git, you can specify a commit (like HEAD^^^ or master)
          and Differential will generate a diff against the merge base of that
          commit and HEAD.
Run Code Online (Sandbox Code Playgroud)

也许我只需要做"arc diff [commit]",其中[commit]是目标分支的一角?但我想确定,因为我不想污染我们的Phabricator实例.

此外,如果答案解释如何做对,我很高兴收到"你做错了"的答案.

git phabricator arcanist

34
推荐指数
1
解决办法
3万
查看次数

如何拒绝/删除/关闭phabricator补丁

我有一个补丁,我想关闭并隐藏在我的项目中,而不是自己登陆或让其他人稍后降落.这个补丁刚刚过时.

有没有办法关闭/删除/拒绝这个?我是这么认为的,因为在他们的网站上它说:

如果您不喜欢,可以拒绝代码.

phabricator arcanist

33
推荐指数
2
解决办法
2万
查看次数

如何在使用arc diff时更改默认分支?

我第一次使用arc diff来提交分支,它问我要比较哪个分支的变化.我进去了origin/master.这将它与对Master分支所做的所有更改进行比较.现在它总是使用Master来比较我想要更改的origin/develop.

我想知道是否有办法以某种方式改变默认分支,而不是使用arc diff origin/develop我可以使用arc diff.

git phabricator arcanist

20
推荐指数
1
解决办法
3710
查看次数

可以修改奥术师/差异模板吗?

我正在尝试配置一个phabricator实例,我发现在我们使用时更改arcanist默认模板arc diff对团队非常有用.

实际上模板包含这个文本:

<<Replace this line with your Revision Title>>

Summary: 

Test Plan: 

Reviewers: 

Subscribers: 


# Tip: Write "Fixes T123" in your summary to automatically close the
# corresponding task when this change lands.

# NEW DIFFERENTIAL REVISION
# Describe the changes in this new revision.
#
# arc could not identify any existing revision in your working copy.
# If you intended to update an existing revision, use:
#
#   $ arc diff --update <revision>
Run Code Online (Sandbox Code Playgroud)

我正在谷歌搜索找到任何方法来更改此默认模板,但我找不到它...

有什么方法可以"个性化"这个模板吗?

phabricator arcanist

11
推荐指数
1
解决办法
835
查看次数

如何禁用Phabricator中的"测试计划"执行?

arc diff如果未指定测试计划,则拒绝提交.有没有办法禁用此功能?

phabricator arcanist

8
推荐指数
1
解决办法
1764
查看次数

为每个功能分支创建修订

我目前正在为我们的项目使用Git和Arcanist.我有一个项目通过phabricator完成了几项任务.一旦我通过arc difffeature branch(A)创建了一个修订版,我想B在修订版关闭之前从另一个功能分支()开始.如何调用arcanist以便为每个单独的分支创建新的差异和修订?当我切换分支并尝试时arc diff,它只是将新版本和差异添加到之前的版本.

git phabricator arcanist

5
推荐指数
1
解决办法
224
查看次数

如何设置带有审阅者滞后时间(又名堆叠差异)的 Arcanist 工作流程?

我对 git 相当陌生,对 Phabricator 甚至更陌生,我试图在项目早期建立一个干净的工作流程。据我了解,使用 git 的正确做法是为每个功能创建一个新分支,在分支中实现它,然后将分支合并到 master 中。效果很好,没问题。

输入 Phabricator 并进行预推送代码审查。我创建一个分支,我们称之为“B”,实现一些东西,运行“arc diff”将其进入 Phabricator 的差异审查系统,等待批准,最后运行“arc land”推送到主存储库。到目前为止,一切都很好。但是,我不想在等待审稿人回复我的同时暂停进一步的开发。

因此,我正在审查我的提交,并且我想开始研究细化或依赖功能。我创建了一个分支,我们称之为“SB”,然后开始工作。我让 SB 准备好送审,但 B 尚未获得批准。“arc diff”看起来会将现有提交与我的新更改结合起来,这是我不想要的 - 这是一个新更改,而不是对旧更改的更新。我尝试“arc diff B”,它起作用了,我在 Differential 中得到了新的修订版,其中仅包含新的更改。B获得批准,我在B上运行“arc land”来提交。这有效。

SB获得批准,我在SB上运行“arc land”来提交。我收到一个使用异常 - Arcanist 将两个修订版视为在 SB 中而不是在 master 中。我尝试切换到 master 并运行更新,然后重试。同样的错误。我尝试使用 --revision 标志来实现这两个更改(即使其中之一确实已经实现)。我遇到合并冲突。我解决并提交合并冲突,然后重试。我再次遇到完全相同的合并冲突。

我最终想到了在 SB 上尝试 rebase 的想法,这最终让“arc land”正常工作。所以,我有一个技术上可行的解决方案,但这对我来说似乎很笨拙和尴尬。有没有更好的方法来避免手动变基的需要,只是为了让 Arcanist 认识到不,我已经着陆的修订版不是我现在着陆的一部分?

git phabricator arcanist

5
推荐指数
1
解决办法
2396
查看次数

弧形差异,包括子模块中的所有更改

我正在使用Phabricator,并且在git中有一个主要项目,而里面还有许多其他git项目的子模块。假设我在每个子模块中都更改了一个文件,并且我想对这一更改进行反差。有人知道是否有可能对主项目进行arc diff处理,它会通过所有子模块中的更改创建差异,然后arc land将推送每个子模块中的更改并更新指向主项目中子模块的指针吗?

git git-submodules phabricator arcanist

5
推荐指数
0
解决办法
358
查看次数

你可以将Phabricator/Arcanist配置为lint Java吗?

当我这样做时arc linters,目前没有Java linter的选项.有没有办法将Arcanist配置为lint Java代码?

phabricator arcanist

5
推荐指数
1
解决办法
1064
查看次数

标签 统计

arcanist ×10

phabricator ×9

git ×6

git-submodules ×1

squash ×1