2012-09-04 39 views
1

我有一組文件是文本文件,但包含ASCII 0 SOH字符。Perforce二進制文件 - 錯誤版本隨機同步

Perforce將這些文件視爲二進制文件。現在,說實話,我不在乎它看到他們是什麼,但是,最近我們已經有幾次Perforce在一個新的分支被整合後給不同的人以不同的版本。

GUI在兩個人的工作區中顯示版本說#2 /#2(兩個兩個),但它們有不同的版本。當這些文件被右鍵單擊並與最新的文件相區別時(選擇彈出框中的字符集將其視爲文本),它將顯示文件有差異。但是,選擇「獲取最新版本」或執行「p4 sync ...」不會更新文件。

我曾嘗試將文件類型設置爲「文本」並提交,並且它們保持文本狀態直到它們恢復爲二進制時才分支。

有沒有人看到這種行爲?

+1

p4d和p4/p4v的版本是什麼?另外,它是ASCII 0還是SOH(通常是ASCII 1)字符? ASCII 0通常被認爲是NUL字符。 – Goyuix

+0

P4V版本:LINUX26x86_64/2010.2/334844 P4版本:emm。不知道。 服務器:2009.2/241896 – user1646448

回答

1

我已經嘗試將文件類型設置爲「文本」並提交,他們仍然保持文本,直到它們恢復爲二進制時才分支。

如果集成/分支的目標不存在,它將獲取原始文件類型(在您的案例文本中)。 如果它已經存在(在你的情況下可能是二進制),那麼源文件的文件類型變化不會被整合 - 在你的情況下,目標文件類型仍然是「binary」。

爲了將文件類型更改從源文件集成到目標中,調用「p4集成」時需要「-t」選項。 最好總是通過選項「-t」調用「p4 integration」。