2015-07-13 44 views
1

我正試圖編寫一個P4觸發器,用於在用戶提交時將更改列表號發送到下游報告工具。據我所知,我需要使用change-commit事件來獲得最終的更改列表號碼。看起來change-submit無法訪問更改後的更改號碼(如果p4服務器必須更改它)("The Perforce service might renumber a changelist when you submit it, depending on other users' activities"P4觸發器:我可以獲取更改列表號並仍然可以選擇恢復嗎?

但是,如果我無法訪問下游報告工具(到期),我還想恢復更改列表到一個短暫的網絡問題)。看來change-commit爲時已晚。如果在此處使用change-commit的觸發器返回非零值,則觸發器失敗,但更改列表仍處於提交狀態。

有沒有辦法將這些2要求一旦你的改變提交觸發結合

回答

1

,變化已完全提交,所以沒有,你不能停止在這一點上提交過程。

坦率地說,僅僅因爲報告工具不可用而暫停提交看起來像是對小問題的極端反應。

如果提交唯一的問題是您無法訪問報告服務,那麼您可以在本地將更改列表編號記錄到隊列中,並且有一個重試機制,以便以後再嘗試通知該工具。

這會使兩個工具緊密耦合。

一個簡單的實現將錄製「最高提交成功發送到報告工具的變更表號」使用p4 counter每次更改提交時間Perforce的counters表,然後,檢查櫃檯,併發送所有的自上次成功聯繫報告工具後提交的更改列表號。

+0

謝謝。報告工具中的記錄缺失導致嚴重問題,因此我不確定是否將其描述爲「小問題」,否則我會認爲這太過於誇張。拒絕提交是一個低影響的修復程序,但它看起來不像是可能的。乾杯 –

相關問題