首页 文章

SVN Book是否与“切换工作副本”不一致?

提问于
浏览
1

SVN Book chapter on "Switching a Working Copy"似乎都表示执行交换机1)使您的工作副本与切换到的分支相同(就像一个人进行了新的结账)和2)保留对您的工作副本的编辑(这样您就可以将它们提交给分支切换到 . )这听起来与我不一致,因为如果开关使它像一个新的结帐,那么你的编辑就无法保留 . 有人可以解释一下吗?

以下是相关报价:

“切换”到分支后,您的工作副本与您对目录进行全新检查所获得的副本没有什么不同 . ...例如,假设您有/ calc / trunk的工作副本并对其进行了一些更改 . 然后你突然意识到你打算改变分支 . 没问题!当您将工作副本切换到分支时,本地更改将保留 . 然后,您可以测试并将它们提交到分支 .

TIA

1 回答

  • 3

    查看该页面上名为“切换和更新”的框:

    您是否注意到svn switch和svn update的输出看起来一样? switch命令实际上是update命令的超集 . 当您运行svn update时,您要求存储库比较两棵树 . 存储库会这样做,然后将差异的描述发送回客户端 . svn switch和svn update之间的唯一区别是update命令总是比较两个相同的路径 . 也就是说,如果你的工作副本是/ calc / trunk的镜像,那么svn update会自动将你的工作副本/ calc / trunk与HEAD修订版中的/ calc / trunk进行比较 . 如果要将工作副本切换到分支,则svn switch会将/ calc / trunk的工作副本与HEAD修订版中的其他分支目录进行比较 . 换句话说,更新会随时间推移您的工作副本 . 开关可以通过时间和空间移动工作副本 .

    基本上,将“switch”命令视为告诉SVN,“嘿,通过这个新的存储库URL返回我的工作副本,然后将我的工作副本更新到该新URL的最新版本” .

    因此,如果您没有对工作副本进行本地修改,则“切换”使您的工作副本看起来像新URL的新签出是正确的 . 如果您有本地修改,则不准确 . 在这种情况下,您的工作副本看起来像是新URL的新结帐,并且您的修改已合并 .

相关问题