簡體   English   中英

提交SVN的解決方案

[英]Commit solution as is to SVN

我們使用VisualStudio與SVN和VisualSVN。

我通過移動(剪切和粘貼/拖放)重命名解決方案並重命名了大量文件。

從未聽過VisualSVN的投訴,現在是時候提交它拒絕這樣做了:

Commit failed (details follow):
Error: Cannot commit 'C:\Sources\xxx' 'xx\Model\Model.cs' because it was moved to
'xxx\NewModel.cs' which is not part of the commit; both sides of the move must be committed together

這是正確的,在給定的位置上文件都不存在,坦白說我不在乎。

我需要SVN來存儲解決方案,就像現在一樣。 我可以無法跟蹤已移動和/或復制文件的更改歷史記錄。

有沒有辦法強制提交?

您似乎得到了錯誤,因為您只提交了移動操作的一部分。 Subversion中的移動包括svn copy (到新項目位置),然后是svn delete (原始項目),因此移動的兩側必須一起提交到一個修訂版本中。

我建議遵循以下步驟:

  1. Visual Studio | VisualSVN | 承諾...... 確保您執行的移動的兩側都列在“已更改”列表視圖中並嘗試提交。 你還得到同樣的錯誤嗎?

  2. 如果第一步失敗,請轉到Visual Studio | VisualSVN | Windows | 等待變更 右鍵單擊解決方案/工作副本的根節點,然后選擇Commit ...。 仍然得到錯誤?

  3. 轉到Visual Studio | VisualSVN | 設置Working Copy Root ...並確保工作副本根指向解決方案WC的根目錄。 嘗試在此步驟后提交。

我在過去一周遇到了這個問題,同時重構了一些代碼並重命名了大量文件。 我能夠糾正問題如下:

  1. 我一次提交一個項目文件夾(在文件夾級別)以隔離問題。 就我而言,除了兩個文件夾之外的所有文件夾都沒有錯
  2. 在有問題的文件夾中,我單獨提交了文件。 我現在每個文件旁邊都有一個綠點,但這兩個文件夾仍然是黃色的。
  3. 我試圖再次提交該文件夾。 它給了我同樣的錯誤,但現在它只是在對話框中顯示了它遇到問題的文件。
  4. 給我一個問題的文件是已刪除但不在我的驅動器上的文件。 我右鍵單擊每個文件並將其還原。 這將文件放回我的驅動器上,即使它不是我在VS中的項目的一部分。
  5. 最后,我將文件添加回VS中的項目,然后立即將其刪除並提交項目。 現在一切似乎都已修復。

TL; DR - 如果SVN認為某個文件是您項目的一部分,但是您的硬盤文件丟失了,則會出現此錯誤。 只需還原文件即可將其恢復到驅動器上。 要清理它,請將文件添加回項目中,然后在VS中將其刪除以使所有內容保持同步。

請先點擊刷新按鈕,在提交包中刷新后,Visual Studio將包含刪除和重命名SVN所需的規則

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM