我'm trying to get a good workflow working for Phabricator and recently made a few changes to our test project to work out some things. I made several changes but forgot to put them in their own feature branches. All of the changes were uncommitted to git. I went ahead a created feature branches as applicable for the changes I made and committed them. I thought I' d能够切换到每个分支并执行 arc diff 为他们创建代码评论(我仍然认为我可以这样做) . 但是,当我在当前签出的分支上执行 arc diff 时,该命令永远不会完成 . 为了看看发生了什么,我跑了 arc diff --trace . 输出如下 . 正如你可以推测的那样,它通过提交消息规范(在我的情况下通过记事本),然后在 [26] git diff 行完全死亡(并且"dies"我的意思是它挂起并且永远不会完成) .
libphutil loaded from 'S:\web\_arcanist\libphutil\src'.
arcanist loaded from 'S:\web\_arcanist\arcanist\src'.
Working Copy: Reading .arcconfig from "S:\web\_apollo\andreas\bonfire3/.arcconfi
g".
Working Copy: Path "S:\web\_apollo\andreas\bonfire3" is part of `git` working co
py "S:\web\_apollo\andreas\bonfire3".
Working Copy: Project root is at "S:\web\_apollo\andreas\bonfire3".
>>> [0] conduit.connect()
>>> [1] http://phabricator.mydomain.com/api/conduit.connect
<<< [1] 1,086,426 us
<<< [0] 1,089,191 us
>>> [2] $ git diff --no-ext-diff --no-textconv --raw "HEAD" --
>>> [3] $ git ls-files --others --exclude-standard
>>> [4] $ git diff-files --name-only
<<< [3] 56,380 us
<<< [2] 84,804 us
<<< [4] 60,751 us
>>> [5] diff.didCollectChanges
<<< [5] 744 us
>>> [6] $ git rev-parse --verify HEAD^
<<< [6] 44,265 us
>>> [7] $ git rev-parse --abbrev-ref --symbolic-full-name '@{upstream}'
<<< [7] 75,134 us
>>> [8] $ git rev-parse --git-dir
<<< [8] 63,179 us
>>> [9] $ git cat-file -t "origin/master"
<<< [9] 35,771 us
>>> [10] $ git merge-base "origin/master" HEAD
<<< [10] 70,249 us
>>> [11] $ git log --first-parent --format=medium "91098728f2d669d8c1ce96
c2ba84059b57241fb6"..HEAD
<<< [11] 59,466 us
>>> [12] $ git log "HEAD" --not "91098728f2d669d8c1ce96c2ba84059b57241fb6
" --format=%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02 --
<<< [12] 57,813 us
>>> [13] differential.query()
>>> [14] http://phabricator.mydomain.com/api/differential.query
<<< [14] 136,410 us
<<< [13] 139,261 us
You have a saved revision message in '.git\arc\create-message'.
Message begins:
Installed DBV
You can use this message, or discard it.
Do you want to use this message? [Y/n] y
>>> [15] $ git log "HEAD" --not "91098728f2d669d8c1ce96c2ba84059b57241fb6
" --format=%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02 --
<<< [15] 40,860 us
>>> [16] differential.parsecommitmessage()
>>> [17] http://phabricator.mydomain.com/api/differential.parsecommitmessa
ge
<<< [17] 154,222 us
<<< [16] 155,662 us
>>> [18] diff.willBuildMessage
<<< [18] 556 us
>>> [19] $ git branch --no-color
<<< [19] 60,581 us
>>> [20] $ "C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst -n
osession "C:\Users\andreas\AppData\Local\Temp\2\edit.6y1tzwocr1ookc0c\new-commi
t"
<<< [20] 2,583,272 us
>>> [21] differential.parsecommitmessage()
>>> [22] http://phabricator.mydomain.com/api/differential.parsecommitmessa
ge
<<< [22] 156,039 us
<<< [21] 158,955 us
>>> [23] user.query()
>>> [24] http://phabricator.mydomain.com/api/user.query
<<< [24] 101,262 us
<<< [23] 103,793 us
>>> [25] diff.didBuildMessage
<<< [25] 1,169 us
Linting...
No lint engine configured for this project.
Running unit tests...
No unit test engine is configured for this project.
>>> [26] $ git diff --no-ext-diff --no-textconv --no-color --src-prefix=a
/ --dst-prefix=b/ -U32767 -M -C "91098728f2d669d8c1ce96c2ba84059b57241fb6" --
我已经尝试将 git diff 命令复制到一个单独的终端,它工作正常 . 我假设PHP本地的 exec 命令可能有问题,所以我创建了一个快速的2行PHP文件来运行 git diff 命令通过...工作正常 . 我已经将 arc diff 命令在该行运行了几个小时,但它没有完成 . 关于如何排除故障的任何想法?
UPDATE 我忘了提到 arc diff 也挂在 git commit --amend 上 .