版本控制 | 告別繁瑣,P4VJS帶來全新的Diff體驗(yàn)
本文作者向華是資深游戲開發(fā)工程師,擁有8年游戲測(cè)試開發(fā)經(jīng)驗(yàn)。他是某知名游戲項(xiàng)目的P4 Admin,也是Perforce Helix Core(P4V)的用戶。
龍智——Perforce授權(quán)合作伙伴持續(xù)關(guān)注版本控制領(lǐng)域,為大家?guī)硐嚓P(guān)資訊。

你好,我是向華。
之前在文章用了P4這一招,九成問題能自救提到過P4VJS的能力,今天我們繼續(xù)聊聊P4VJS。
原生Diff引發(fā)的思考
開發(fā)一段時(shí)間后,終于要把寫了一天的代碼提交到P4倉(cāng)庫(kù)了。
通常情況下,項(xiàng)目規(guī)范都會(huì)提醒各位開發(fā)者,在提交前多檢查Diff,以免錯(cuò)誤代碼被提交到倉(cāng)庫(kù)。
如果項(xiàng)目使用P4V,在提交前,會(huì)看到待提交的Changelist中可能有很多個(gè)文件被修改了。
那么,你會(huì)采用何種方式查看這些文件修改的Diff結(jié)果呢?
張三說,我會(huì)挑選幾個(gè)重要的文件,一個(gè)個(gè)右鍵選擇Diff Against進(jìn)行查看。
王五說,我會(huì)右鍵整個(gè)Changelist,然后查看所有文件的Diff。
實(shí)際工作中,這兩種方法都存在缺點(diǎn)。
如果你像張三那樣,挨個(gè)找到自己想要的文件再查看Diff,雖然可以精準(zhǔn)地找到需要的代碼變化,但是會(huì)浪費(fèi)很多時(shí)間。
如果你像王五那樣,一次性查看所有文件的Diff,會(huì)彈出多個(gè)Helix Merge窗口,看完還得一個(gè)個(gè)關(guān)掉,十分麻煩。


那么,有沒有類似Github提交記錄中的Diff效果呢?

P4VJS助力全新Diff體驗(yàn)
為了解決這個(gè)問題,在工作之余,我使用P4VJS和Vue制作了一款P4V工具。

這個(gè)工具基本實(shí)現(xiàn)了我想要的效果,可以將一個(gè)Changelist中所有文件的 Diff 顯示在P4V內(nèi)部的窗口中,與P4V完美呼應(yīng)。
目前,這個(gè)工具只支持文本類型文件的Diff查看,但是我將會(huì)抽時(shí)間加入其他文件類型的Diff查看功能。
這款工具之所以能夠與P4V完美聯(lián)動(dòng),得益于P4VJS應(yīng)用的應(yīng)用。界面上類似于Github的對(duì)比界面,得益于VueJS和ElementUI框架的功能加持。
可以這么說,P4VJS具備讓用戶低成本定制P4V工具的能力。
說在最后
這些技術(shù)的融合,讓用戶可以開發(fā)出更加有趣和實(shí)用的工具,對(duì)P4V進(jìn)行功能優(yōu)化和補(bǔ)充。