2014-01-24 41 views
0

我使用龜的VisualSVN客戶端/服務器的最新版本更新項目後。 我試着更新到之前的修訂版本,但是情況並沒有改變。SVN:新修訂的文件複製到計算機上,但不會添加到項目

任何人都知道爲什麼會發生這種情況?

@Ben 是的,我知道這一點。但你不明白我的問題。例如,一個人提交一個文件image.jpg。我將我的項目工作副本更新爲新版本。但是這個文件沒有被添加到解決方案中,並且在構建解決方案(例如)中沒有找到file image.jpg時出現錯誤。但是我可以手動將此文件添加到解決方案中,因爲它位於我的項目文件夾中(在升級到最新版本後它會下載)。你懂我的?

UPD。

好的。感謝所有想要幫助我的人。也許我不是很清楚解釋,所以再詳細一點。

我有一個服務器(PC)與VisualSVNserver和存儲庫。我在PC上安裝了Visual Studio的TortoiseSVN和VisualSVN插件。

我們製作的項目(我不是一個),併成功提交更改和結賬。經過一次提交(我不知道數字,有幾個),有一個這樣的問題。

如果我更新VisualStudio,我看到存儲庫中的文件,但解決方案文件忽略它嗎?或者,我甚至沒有在我的Visual Studio佈局中看到該文件。

如果我沒有看到在VisualStudio的文件,我看到使用Windows Explorer文件? (並確保Windows資源管理器設置爲顯示不可見文件!)

是的,是的,在此提交後,存儲庫包含更改。我在存儲庫(通過Web服務器接口)中看到它,並使用Windows資源管理器(在我的PC上,在具有本地工程副本的項目文件夾中)看到它,但是當我在VS中打開解決方案時看不到它我可以在解決方案資源管理器中使用Add-> Existing項目並添加這些文件,但我認爲這是錯誤的)。

所以,我試圖更新之前的修訂並回(我認爲這可以解決我的問題),但是這是行不通的。

是的,也許這是因爲有些文件沒有添加到版本庫INSIDE VS,但我如何解決項目? (現在我已經打破了項目)。

如果我在不使用VisualStudio的情況下使用TortoiseSVN進行清理檢查,我會看到該文件嗎?

你是什麼意思 「沒有VisualStudio的」?我總是使用VisualSVN插件。我做了一個乾淨的結帳,但它不能解決問題。

+0

SVN控制文件,你的意思是「添加到項目中」你的意思是像你的建築環境,如視覺工作室? – nrathaus

+0

@nrathaus,我的意思是下載新文件,但是當我在VS2010中打開項目時,我沒有看到它們 – Brian

+0

這是因爲Visual Studio從不自己添加新文件。您需要明確告訴它將它們添加到您的項目中。通過在SVN中添加文件,您只能將該文件添加到SVN存儲庫。出於某種原因,您似乎認爲您的SVN存儲庫和Visual Studio項目是一回事。他們不是。如果您想在更新時自動將文件添加到項目中,則添加文件的人也需要將文件添加到Visual Studio項目文件,然後將視覺工作室項目文件提交給SVN。 – Ben

回答

1

Visual Studio將文件列表保存在自己的項目文件中。如果您想將文件添加到項目中並讓其他人在他們的項目中選取這些文件,則還需要將項目文件置於版本控制之下。

+0

謝謝,但你不明白我的問題 – Brian

0

您使用VisualStudio嗎?你應該使用VisualStudio的INTERNAL Subversion插件而不是TortoiseSVN。我個人最喜歡的是AnkhSVN。但是,VisualSVN確實也成爲一個。您是否將VisualSVN插件用於VisualStudio?

你的描述並不說明太多:

我使用龜的VisualSVN客戶端/服務器的最新版本。我嘗試更新到之前的修訂版本,但情況沒有改變。

任何人都知道爲什麼會發生這種情況?

什麼是情況沒有改變?你是什​​麼意思你更新到以前的修訂版本,並返回?

Subversion不會更改存儲庫,直到這些更改成功將承諾提交到存儲庫。您可以添加和刪除文件。您可以修改文件。但是,直到你承諾這些變化,沒有人會看到它們。

而且,爲了讓某人看到最近提交的更改,該用戶必須更新其工作副本。添加了image.jpg的用戶是否已提交其變更以及是否添加了該文件?如果他們不這樣做,那就是你現在遇到的問題。

你說的文件沒有被添加到解決方案

  • 如果我更新VisualStudio,是否可以在存儲庫中看到該文件,但解決方案文件會忽略它?或者,我甚至沒有在我的Visual Studio佈局中看到該文件。
  • 如果我在VisualStudio中看不到該文件,是否使用Windows資源管理器查看該文件? (並確保Windows資源管理器設置爲顯示隱形文件!)
  • 如果我使用TortoiseSVN 進行清理結帳,而不是 VisualStudio,我能看到該文件嗎?

如果該文件是有在乾淨的檢出直接從TortoiseSVN的完全的VisualStudio外完成,這意味着已成功添加的文件,但VisualStudio中被忽略了。如果用戶添加VisualStudio IDE的外部文件OUTSIDE(可能直接與TortoiseSVN),則會發生這種情況。這是一個很大的喇叭不響。

爲了讓VisualStudio工作,您必須讓VisualStudio處理所有文件。您在VisualStudio中添加文件。這允許VisualStudio知道該文件並確保它在解決方案文件中。如果你使用的是AnkhSVN,當你添加文件INSIDE VisualStudio時,它會自動將添加到你的Subversion版本庫中。 (您仍然需要更改爲Subversion以便將文件實際存儲在存儲庫中,以便其他人可以讀取它)。

像VisualStudio這樣的IDE旨在讓您的生活更輕鬆。這些IDE跟蹤您的文件並確保它們包含在構建中,並放置在最終可部署工件的正確位置。在過去,我們手寫了Makefiles(當時我們沒有鍵盤,只有墨水瓶和羽毛筆)。 Makefiles非常複雜。看看一些examples。 IDE爲你做這個,所以你可以專注於編寫你的程序,而不是確保你有什麼正確建立

但是,要使IDE能夠完成工作,您必須在IDE中切實執行所有工作,以便IDE知道發生了什麼。當您添加,移動,重命名,刪除或修改文件時,您必須確保它已完成VisualStudio IDE的INSIDE。這樣,VisualStudio知道該文件,並可以根據需要修改其解決方案。 IDE還知道臨時不可見文件,例如VisualStudio中的*.suo*.user文件,並且知道不要將這些類型的文件添加到Subversion源代碼庫中。

我不確定這是否回答你的問題。你需要更具體。給我們一些更好的例子。請準確告訴我們您所做的步驟以及您看到的內容。

瀏覽本網站的其他問題,並看到一些很好的詳細問題的一些例子。如果我沒有回答你的問題。不要只告訴我我不明白你的問題。改善你的問題,所以我可以理解。現在,我只是在黑暗中拍攝terrible assumptions關於你的問題可能基於我過去的經驗。

如果這有幫助,請選擇答案的複選標記,以便我們知道此問題已得到解答。同時添加一條評論,解釋如何幫助。而且,還是回過頭來重新說出你最初的問題,以確切地說明問題所在。這樣,如果其他人有類似的問題,他們可以搜索這個問題,並看看解決方案將是什麼。

它使這個網站對數百萬依靠這個網站的程序員更有用。

相關問題