Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 合并若干修订-管理问题_Svn_Tortoisesvn - Fatal编程技术网

Svn 合并若干修订-管理问题

Svn 合并若干修订-管理问题,svn,tortoisesvn,Svn,Tortoisesvn,以下是场景: 1) 我有一根树枝 2) 我有一条短裤 这两者都是不相关的,这意味着它们有不同的路径通向它们。布兰卡曾经是特朗卡的复制品 因此,当使用trunkA作为核心开发主干时,我被要求将某些更改合并到branchA中,以便它对我们的一些代码文件也有这些代码更改 好的,我在“乌龟”对话框中选择“通过修订范围合并”。但事情是这样的。要么我在签入的更改集(我的回购集)上不聪明,要么我不知道是否有一个选项可以在一系列修订中排除某些文件 因为问题是,在编写某个故事的过程中,有时我会对我在编写代码时潜入

以下是场景:

1) 我有一根树枝 2) 我有一条短裤

这两者都是不相关的,这意味着它们有不同的路径通向它们。布兰卡曾经是特朗卡的复制品

因此,当使用trunkA作为核心开发主干时,我被要求将某些更改合并到branchA中,以便它对我们的一些代码文件也有这些代码更改

好的,我在“乌龟”对话框中选择“通过修订范围合并”。但事情是这样的。要么我在签入的更改集(我的回购集)上不聪明,要么我不知道是否有一个选项可以在一系列修订中排除某些文件

因为问题是,在编写某个故事的过程中,有时我会对我在编写代码时潜入的类进行清理。所以我会清理一些东西,比如使用stations删除未使用的类,等等。这是每个开发人员都应该做的(boyscout规则)

问题是当我这样做的时候,我认为它可能会稀释。这意味着我真的应该在它自己的提交中分离出清理更改

因为问题是,如果我合并了一系列的修订,并且我已经做了“其他清理”“,在我将一些核心文件更改合并到branchA时,我可能不想包括一些清理。也许我只是想转移某个故事,但问题是,嘿,我还包括了一些回购协议中的其他文件,这些文件是我为了清理它们而更改的

我想我的问题是,或者更多的验证是,我可能需要在我的提交上更干净。把东西牢牢地分开。如果是围绕您正在处理的一组类的一系列清理更改,请等待并在它们自己的提交实例(own repo#)中提交这些更改。这样,每当我进行范围合并时,我都能得到我想要的结果。我不认为svn有办法在范围合并期间清除某些回购协议中的这些文件


想法?

如果我正确理解了您的问题,您希望合并从TrunkA到BranchA的一系列修订。但是,您的BranchA本地工作副本有未提交的更改(与您正在处理的清理故事相关),您想在合并后提交这些更改,对吗

如果这就是问题所在,你可以有这样的解决方案

  • 签出BranchA的新工作副本(称为WC2)并在此处执行修订范围的合并
  • 那就去做吧。之后,返回执行清理故事的工作副本(称为WC1)
  • 在WC1中执行SVN更新。它将在此处更新您从WC2提交的合并更改
  • 这才是真正的解决办法。我们需要研究此更新中每个文件可能出现的三种主要情况
情况如下:

  • 文件未在WC1中更改&文件已在TrunkA中更新-这同样不会导致任何问题,因为本地文件未更改,它只会从服务器获取最新更新
  • 文件在WC1中更改(未提交)&文件未在TrunkA中更新-这不会有任何问题,因为这些文件的更新中没有发生任何事情,并且您的清理更改是完整的
  • 文件在WC1中更改(未提交)&文件在TrunkA中更新-这是一个在更新过程中会陷入SVN冲突的文件。然后你可以一个接一个地讨论这个问题并解决冲突。这就是我们在这里消耗的时间
  • 在此之后,只需在WC1中完成您的清理故事,并稍后提交


    这将在提交历史记录中分离您的两个任务。

    本地代码中没有提交的内容与某些repo#sso中的更改相关。假设我正在合并修订版22、24和25。它们是为我正在写的某个故事准备的。但是在say 24中,当我在开发时,我注意到一些未使用的using语句,可能我更改了一些初始值设定项以使用C中的类初始值设定项,例如,例如,等等。只是在其他与我的代码没有真正相关的类中进行例行清理,然后我想我需要等待并将这些清理项检查到它们自己的commit(自己的repo)中所以,当我真的想要合并故事时,不管怎样,我不必担心AO,但在某些情况下,我可能不想包括一些我清理过的文件,这是什么回购协议?我从未听说过SVN术语中的这一点。我想你是指修订版还是存储库链接。请澄清这一点。