2011-03-21 57 views
5

我遇到了Perfarce擴展的問題,我似乎無法通過。我最初是由克隆我的P4車廠的一部分:可以在流產的Perfarce克隆後重建Perforce/Mercurial連接嗎?

hg clone --startrev 71555 p4://perforce:1666/greg_nt_main-hg lwnthg 

我選擇了開始轉,這是背後的當前最新修訂版短短修改列表 - 試圖完整克隆沒有startrev沒有工作,但是這是一個獨立的問題我也許會分開寫一下。

在克隆我得到了以下錯誤:

"abort:untracked file in working directory differs from requested revision on 'MAIN/apps/Win32/BenchMark/Jamfile'」 

但是,在什麼曾經出現我的磁盤檢查,它看起來像所有文件實際上已成功克隆。提到的文件與Peforce中的文件相同,並且克隆過程之前lwnthg文件夾爲空。 'hg狀態'顯示了很多尚未提交的文件 - 我猜是因爲克隆中止了?所以我承諾他們,並且都看起來很棒。

我對我的文件做了一些編輯,將它們提交給本地倉庫沒有任何問題。我喜歡水銀的可愛;)

但是,當我來到了推我又變回Perforce的,我得到以下錯誤:

abort: no p4 changelist revision found 

我確認我有一個有效的P4登錄票,P4小漲,等等,一切OK。

所以我的猜測是Perfarce存儲了它上次同步到P4的更改列表,並且第一次中止發生在這個信息寫出之前。如果我嘗試從P4進行拉取操作,我也會得到同樣的錯誤。假設我的理論是正確的,有什麼方法可以在本地Perfarce配置中重建這些信息嗎?

備註'Perfarce'不是拼寫錯誤。鏈接到Perforce的是name of the Mercurial extension。如果你把它改成'Perforce',這個問題會失去一些意義。讚賞嘗試清除問題的幫助,但始終值得首先查看事實:)

+0

觸發快樂編輯 - 請在問題結尾處注意'NOTE':) – 2011-03-21 15:01:38

回答

1

要回答我自己的問題,答案似乎是否定的。

我已經做了一些更多的挖掘並與原作者Frank Frank建立了聯繫 - 解決方案是確保您的倉​​庫進口沒有錯誤。一旦完成,Perfarce絕對享受。

導入的原始中止取決於我的用法。按照其他地方發現的各種指令 - 包括堆棧溢出 - 我試圖使用hg克隆的目標參數來獲得正確的回購名稱。但是看起來導入的成功對於Perforce客戶端規範根目錄和目標文件夾之間的交互非常敏感,這是作爲hg克隆的最後一個參數給出的。

基本上,確保這些文件夾不重疊。

根據Perforce中的文件,它可能工作如果您有重疊,但你可以在和自己的麻煩在未來整個堆。

建議將文件夾分開。我的問題是我不想將hg文件夾的默認文件夾名稱作爲Perforce客戶端規格名稱 - 如果您不提供目標文件夾,這是它的作用。但是,如果您確實提供了目標文件夾,那麼它可能由於一個錯誤而與客戶端規格根匹配。由於這種行爲,我認爲文件夾實際上必須是相同的。

在Mercurial中,創建回購後重命名頂層文件夾是安全的。因此,如果您不希望名稱由Perforce客戶端規範的名稱決定,那麼您可以隨後重命名。這是我採取的方法。

希望這可以幫助其他人試圖把他們的腳趾浸入水銀水域。

更新 Frank更新了Perfarce擴展以更好地捕獲這種情況。從Perfarce repository獲取最新信息。

相關問題