2013-03-19 68 views
1

在C++ VS2010項目中使用Tortoise-svn。我想知道在哪些情況下你要提交.sln文件。Qt/C++項目VS2010 svn-commit&update .sln

一些原因,我看到commiting .sln文件:

  • 一些項目被添加到解決方案
  • 依賴性進行了修改

什麼其他原因commiting的.sln? .sln將如何合併?

此外,誰在生成.sln文件?它是否在每個qmake_all(或make_all)上生成?

編輯

我使用烏龜SVN GUI。它應該告訴我什麼時候.sln被我改變了。

現在,在哪些情況下.sln發生了變化?

還有:.sln如何合併?

更實際地,在這種情況下,我應該接受我的還是接受他們的.sln當我剛剛更新?

編輯

當/如何從的.sln .pro文件產生的?

編輯

爲了讓我更清楚問題的一部分:

與烏龜SVN的更新之後,如果是的.sln衝突,我應該

  • 接受我的(因爲無論如何.sln會是r當我從qmakeall .pro文件)或
  • egenerated接受他們(因爲我的.sln是沒有更多的是最新的)
  • 還是並不重要

謝謝!

+1

看來你的問題與使用qmake的Qt和* .sln-generation相關,你可能想指出這一點。 – 2013-03-19 15:15:21

+0

針對單個問題的問題太多了,您需要將這些問題分解爲單獨的問題並提出可以回答的問題,而不是討論 – Dmitriy 2013-03-20 09:21:17

回答

2

至於我你沒有需要存儲sln文件,因爲sln文件是衍生自你的pro文件(換句話說sln是從pro文件生成),所以考慮只存儲主項目定義文件(這是一個專業文件),並省略生成的工件。主要原因是當你決定改變開發者環境(例如它可能是mingw)時,你可以在pro文件的時候做,並花費大量的時間來轉換sln文件。

+0

謝謝!什麼時候從.pro文件生成SLN?在所有?這是否意味着當我更新時,我總是應該選擇在svn中接受我的.sln文件?在過去,當我使用我的.sln(svn:accept mine)時,我遇到了編譯(執行?)的困難。 – octoback 2013-03-20 08:46:22

+0

考慮使用源代碼構建,例如,src是在SVN控制下,而vs2010是包含vs解決方案和項目文件的本地目錄。你應該輸入vs2010並運行qmake -tp vc .. \ src \ myproject.pro在這種情況下,你不應該解決任何特定於svn的任務,因爲生成的解決方案將不在svn範圍內。 – AnatolyS 2013-03-20 08:51:54

+0

我並沒有完全理解你的答案。也許我還不夠清楚:在用svn更新之後,如果.sln發生衝突,我應該接受我的(因爲無論如何.sln會在.q文件中重新生成.pro文件),或者接受它們(因爲我的.sln不是更新至今) - 還是不重要?謝謝! – octoback 2013-03-20 09:12:42

0

通常,像TutoiseSVN這樣的任何svn GUI都會檢測解決方案文件中的任何更改,並會警告您提交.sln文件,但如果您沒有使用此類GUI,則可以通過打開找到相關的解決方案參數。SLN文件與文本編輯器像Notepad ++,你可以看到所有有關你的項目的變量

+0

謝謝!我編輯說明清楚。 – octoback 2013-03-19 16:40:43