我想知道如何在執行集成時加速perforce自動解析(如果不存在任何衝突,請合併您的腳本)。如何加速perforce自動解決?
即使代理服務器預先緩存了文件,當使用代理服務器運行約5000個文件時,也需要數小時。
此外,p4v界面不會給你任何有關任務進度的暗示,你不知道它是否會在第二年或明年完成。
我想知道如何在執行集成時加速perforce自動解析(如果不存在任何衝突,請合併您的腳本)。如何加速perforce自動解決?
即使代理服務器預先緩存了文件,當使用代理服務器運行約5000個文件時,也需要數小時。
此外,p4v界面不會給你任何有關任務進度的暗示,你不知道它是否會在第二年或明年完成。
我想你可以從命令行做出決定,這可能會讓你知道它仍在進步,並且不會阻止你從P4V中進行其他工作。
如果您事先知道它會肯定是一個單向解決方案,也許您可以嘗試強制接受「他們」或「您的」版本。請參閱命令行中的「p4 help resolve」,特別是「-at」和「-ay」選項。
我不確定它是否確實會產生任何性能優勢,但是很容易嘗試它(並進行一些基準測試)。
對於功能適中的服務器,5000個文件並不是很多需要解決的問題。
您的文件是否具有相當大的二進制文件?如果您的5000個文件是二進制文件,autoresolve將在您的本地硬盤上對它們進行校驗,以與服務器上的校驗和進行比較(而不是代理,它只是將信息或文件轉發給您),這會降低速度。
如果您事先知道您正嘗試單向解析(在您的硬盤上吃掉您的硬盤或從服務器上吃掉它們),您可以use the 'accept yours' or 'accept theirs' options to autoresolve並跳過校驗和操作。從命令行,這將分別與「-ay」或「-at」選項「p4解析」。
您還可以聯繫您的perforce db管理員並讓他們記錄服務器操作。也許在執行集成和解決操作時會執行一些操作,這些操作會持有文件鎖定,導致您旋轉並等待鎖定釋放。參見參考文獻'p4 monitor show -a'。
例如,在我們的辦公室,週一早上辦公室的每個人都很容易集成他們的私人分支機構並加以解決。
我在使用全球另一端的代理時也遇到過類似的問題。我已經運行了一些實驗,至少對於小文件來說,問題似乎不受文件大小或解析方法(接受它們等)的影響。
我猜測每個文件都有一些往返成本,因爲無論我是否將命令分解爲每個文件的單個解析命令,是對每組文件進行批處理,還是解析整個更改列表。在我的情況下,對於大於10k的文件,每個文件的開銷大約爲1秒。
我目前正在通過登錄到與遠程服務器位於同一位置的VM並執行解決方案來解決此問題。然後您可以從VM提交,然後正常同步。由於我需要在提交之前先在本地運行測試,因此我將這些文件擱置在虛擬機上,然後在本地計算機上取消保存它們。這不是非常快,但似乎更好。
所以,不是解決問題,而是在我的情況下可行的解決方法,可以節省數小時。
「自動解析(不合並)」 - 最簡單可行的算法,那麼,爲什麼它這麼慢?我認爲問題是Perforce在網絡上做了所有事情,所以它依次發出了5000個請求或者一些愚蠢的東西。 –