Gerrit系統僅由我們幾個人使用。 一旦發生變更A,其狀態爲:「已提交,合併待審批」。 「打開」網頁中的更改列表。 另外我注意到這個變化對另一個變化B(哪個狀態被放棄)有依賴性。Gerrit更改狀態:已提交,合併待定,如何解決?
- 如何使A列在「合併」網頁上?
- 如何讓B消失,讓A不再依賴B?
Gerrit系統僅由我們幾個人使用。 一旦發生變更A,其狀態爲:「已提交,合併待審批」。 「打開」網頁中的更改列表。 另外我注意到這個變化對另一個變化B(哪個狀態被放棄)有依賴性。Gerrit更改狀態:已提交,合併待定,如何解決?
如果變更A對B有依賴關係,那麼在B被合併之前A不能被合併。由於您已經放棄B,Gerrit不會自動合併A.
您需要做的是修改A(可能使用git rebase
),以便它不再依賴於B,並將更改重新提交給Gerrit。
Greg說的是正確的,自動合併是不可能的。通過使用Gerrit的「cherry pick」選項(基本上是手動合併),可以合併A。不幸的是,這不會消除Gerrit的「Merge Pending」狀態。如果投稿人不會因爲發生重建而感到困擾,我通常會爲此寫下評論。
蓋伊。 如果你提交了一個標籤,你可能會遇到一個錯誤。 Gerrit V2.7修復了這個bug。
錯誤引用: https://groups.google.com/forum/#!topic/repo-discuss/tLVMibfzroc
我有「提交,合併掛起」無任何依賴性或衝突同樣的問題。快速修復是通過所有未清項目,並查看是否有任何其他提交「已提交,合併待定」狀態。如果是的話,就放棄他們。
然後git commit --amend -m「你原來的評論」和git再次推送,這次你可以修改你的修正。
僅供參考。當用戶在同一頁上按兩次提交(她雙擊提交按鈕)時,我遇到了「提交,合併等待」的問題。它發生在Gerrit 2.11。
錯誤日誌看起來像
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '5173-2-1' for key 'PRIMARY'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
提交之前,只有1提交(更改代碼)。但是在雙擊後有2個提交。第二個是新的提交消息和「提交,合併待定」狀態。
當我刪除了所有有關第二承諾:
$ ssh -p 29418 [email protected] gerrit gsql
gerrit> delete from `patch_set_approvals` where change_id=5173 and patch_set_id=2;
gerrit> delete from `patch_set_ancestors` where change_id=5173 and patch_set_id=2;
gerrit> delete from `patch_sets` where change_id=5173 and patch_set_id=2;
它標誌着由用戶Gerrit代碼審查集成。
我面對這個問題,因爲我把一個標籤分支名:
git tag x.y.z HEAD
git push -f origin x.y.z:master
因此,更好地推動一個分支,而不是,
git tag x.y.z HEAD
git push -f origin HEAD:master
這樣格里特能夠再次合併我的懸而未決的補丁。
在終端:
其中n是從頂部提交的列表提交計數在步驟2的終端上生成。
現在合併您提交的格里特。
我問了[類似問題](http://stackoverflow.com/q/20496959/1469208),並得到了一些更詳細的(對新手有用)的答案。 – trejder 2013-12-12 12:00:12