2010-03-24 70 views
1

我對SVN相當陌生,而且我有一個奇怪的行爲問題。從分支提交和更新時出現SVN問題

我的代碼分支的工作,當我提交代碼,它說,這是commiting到:「https://10.1.1.3:8443/svn/ProjectName」,並顯示有作爲「分支/ BRANCHNAME/src目錄/ fileName.cs」所做的更改的文件。工作得很好,顯示「c:\ projects \ ProjectName \ branches \ branchName \ src \ fileName.cs」中的修改內容,發送內容,完成。

現在,當我從根進行更新時,它將返回「更新的c:\ Projects \ ProjectName \ trunk \ src \ fileName.cs」。

如何防止我的分支代碼更新到trunk中?我猜測頭部指向錯誤的地方,但就像我說的,我是新手。

非常感謝!

+1

你能描述一下你的存儲庫佈局嗎,以及你已經檢出了什麼目錄?它看起來像/ svn/ProjectName/trunk和/ svn/ProjectName/branches/branchName,但已將/ svn/ProjectName(所有分支)簽出爲單個工作副本。 – 2010-03-24 15:39:22

回答

2

聽起來像你的c:\ Projects \ ProjectName \ trunk \ src和c:\ Projects \ ProjectName \ branchName \ src實際上可能指向同一個存儲庫位置。

要檢查這一點,請右鍵單擊c:\ Projects \ ProjectName \ trunk \ src和c:\ Projects \ ProjectName \ branchName \ src,選擇屬性,進入Subversion選項卡並檢查URL。

如果他們指向同一個存儲庫位置,那麼您需要修復它。解決這個問題的一種方法是簡單地刪除所有內容(當然,在提交任何更改後)並再次檢查。另一個解決方法是右鍵單擊目錄,選擇TortoiseSVN Switch,然後輸入正確的URL。

2

如果您已正確切換到您的分支,那麼SVN更新將不會從對主幹進行的任何更新中獲取。

首先檢查你已經簽出的SVN網址是。您可以通過右擊並選擇TortoiseSVN->Switch...來完成此操作。它將列出您切換到的存儲庫的SVN路徑。確保c:\Projects\ProjectName\trunkc:\Projects\ProjectName\branches\branchName具有不同的URL。

還要確保您的分支目錄完全切換到分支URL。轉到您檢查分支的基本目錄,並執行svn切換,並確保將整個樹切換到您的分支。

2

如果您執行C:\ Projects \ ProjectName \ trunk文件夾的屬性,並選擇Subversion選項卡,它在指向的存儲庫中說什麼?

我的猜測是,它也指着你的資料庫/分支機構/ BRANCHNAME,在Subversion不能自動更新從一個分支主幹(而且也沒有辦法讓它短做了一個鉤子腳本的。)