2010-03-24 72 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不能自动更新从一个分支主干(而且也没有办法让它短做了一个钩子脚本的。)