代码之家  ›  专栏  ›  技术社区  ›  Chris Conway

提交和更新分支时的SVN问题

  •  1
  • Chris Conway  · 技术社区  · 14 年前

    我是SVN的新手,我有一个奇怪的行为问题。

    我在一个代码分支中工作,当我提交代码时,它说它正在提交到:“ https://10.1.1.3:8443/svn/ProjectName 并显示更改为“branches/branchname/src/filename.cs”的文件。工作正常,在“c:\projects\projectname\branches\branchname\src\filename.cs”中显示修改后的内容,发送内容,完成。

    现在,当我从根目录更新时,它会返回“updated c:\projects\projectname\trunk\src\filename.cs”。

    如何防止分支代码被更新到主干中?我猜是头指向了错误的地方,但就像我说的,我是新来的。

    非常感谢!

    3 回复  |  直到 14 年前
        1
  •  2
  •   Josh Kelley    14 年前

    听起来您的C:\projects\projectname\trunk\src和C:\projects\projectname\branchname\src可能实际指向同一个存储库位置。

    若要检查此项,请右键单击C:\projects\projectname\trunk\src和C:\projectname\projectname\branchname\src,选择“属性”,转到“子版本”选项卡下,然后检查URL。

    如果它们确实指向同一个存储库位置,那么您需要修复它。修复它的一种方法是简单地删除所有内容(当然,在提交任何更改之后),然后再次检查它。另一个解决方法是右键单击目录,选择Tortoissesvn开关,然后输入正确的URL。

        2
  •  2
  •   Brian R. Bondy    14 年前

    如果你被正确地切换到你的分支,那么SVN更新将不会从主干中的任何更新中被抓取。

    首先检查您签出内容的SVN URL。您可以通过右键单击并选择 TortoiseSVN->Switch... . 它将列出您切换到的存储库的SVN路径。确保 c:\Projects\ProjectName\trunk c:\Projects\ProjectName\branches\branchName 有不同的URL。

    还要确保您的分支目录完全切换到分支URL。转到为分支签出的基本目录,并执行SVN切换,确保将整个树切换到分支。

        3
  •  2
  •   Andy Shellam    14 年前

    如果您执行c:\projects\projectname\trunk文件夹的属性,并选择Subversion选项卡,那么它会在指向的存储库中指出哪里?

    我的猜测是,它还指向存储库中的/branches/branchname,因为Subversion不会自动从分支更新主干(而且没有办法让它缺少钩子脚本)。