【问题标题】:How to merge two branches without specifying the local work copy path with SVN?如何在不使用 SVN 指定本地工作副本路径的情况下合并两个分支?
【发布时间】:2011-07-08 08:28:27
【问题描述】:

据我所知,将分支合并到主干的通常步骤:

  1. 将主干/分支结帐到本地工作副本目录

    svn co svn://server/proj/trunk

    svn co svn://server/proj/branch

  2. 将分支合并到主干

    cd trunk ## 分支的本地工作副本目录

    svn 起来

    svn 合并 svn://server/proj/branch

    svn diff ### 现在你可以看到分支发生了什么变化

    svn ci -m "merge branch into trunk" ## 合并到 svn repo

现在我的情况:

  1. 我没有本地工作副本目录(不想)——这意味着我不必检查主干和分支到本地磁盘。

  2. 仅通过给定的 URL (svn://server/proj/trunk && svn://server/proj/branch) 将分支合并到主干 - 这意味着合并发生在 svn 服务器上。

我已经阅读了很多关于svn操作的文档,但我仍然不知道如何满足需求。

我希望有人能帮助解决这个问题。

【问题讨论】:

  • 这就像问:如何在没有工作副本的情况下更改svn中文件的内容?
  • 跟我的问题有什么不同吗?有没有办法解决这个问题?

标签: svn merge


【解决方案1】:

这是不可能的。你必须有一个工作副本才能合并到——还有什么冲突可以解决等等?

没有办法在服务器上进行这些合并,因为服务器不会在任何地方保留文件的“签出”副本。服务器“只是”文件的集合。

【讨论】:

    【解决方案2】:

    在 Subversion 中,每个合并操作都将在客户端完成。客户端也解决了冲突等。服务器端没有做任何事情(这非常好)。如果你想合并,无论目标是什么,都必须检查主干或分支。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-23
      • 2016-08-25
      • 1970-01-01
      • 2011-03-19
      • 2011-01-11
      • 2012-11-24
      • 1970-01-01
      • 2017-03-30
      相关资源
      最近更新 更多