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
Svn 我可以在subversion中更新旧版本并将更改分发到所有新版本吗?_Svn_Subclipse - Fatal编程技术网

Svn 我可以在subversion中更新旧版本并将更改分发到所有新版本吗?

Svn 我可以在subversion中更新旧版本并将更改分发到所有新版本吗?,svn,subclipse,Svn,Subclipse,我已经纠正了当前正在运行的旧版本代码中的一个错误。还有一些更新的版本尚未测试。我希望能够将此修复提交到旧版本,并将更新一直进行到head版本。这可能吗?您可以将其提交到旧版本,然后将该特定版本合并到HEAD中 例如,您可以将其提交到旧版本,然后将该特定版本合并到HEAD中 例如,我想你问的是“我能让SVN更新我所有的代码吗,从修订版X,通过头部,由我自动签入修订版X的补丁”—答案可能不是我所知道的 通常的用法是用补丁更新发布分支,然后将bug补丁移动(合并/提交等)到主干/开发分支。这是为了确保

我已经纠正了当前正在运行的旧版本代码中的一个错误。还有一些更新的版本尚未测试。我希望能够将此修复提交到旧版本,并将更新一直进行到head版本。这可能吗?

您可以将其提交到旧版本,然后将该特定版本合并到HEAD中


例如,

您可以将其提交到旧版本,然后将该特定版本合并到HEAD中


例如,

我想你问的是“我能让SVN更新我所有的代码吗,从修订版X,通过头部,由我自动签入修订版X的补丁”—答案可能不是我所知道的


通常的用法是用补丁更新发布分支,然后将bug补丁移动(合并/提交等)到主干/开发分支。这是为了确保rev X得到了正确的更新、测试等,然后您的主干/开发中分支也得到了验证

我想你问的是“我能让SVN通过我签入X版的补丁自动更新我所有的代码吗,从X版到头部”——答案可能不是我所知道的


通常的用法是用补丁更新发布分支,然后将bug补丁移动(合并/提交等)到主干/开发分支。这是为了确保rev X得到了正确的更新、测试等,然后您的主干/开发中分支也得到了验证

你为什么要这么做?为什么不做出改变并做出承诺呢

像Subversion这样的产品的全部意义在于它跟踪所做的所有更改,并允许您准确地查看代码(或任何文本)在任何时间点的状态。如果您可以返回并更改早期的修订,那么就不可能再说明何时进行了哪些更改


更改以前的版本会给您带来什么好处?我想知道你为什么要这么做。如果您在2月12日更改了1月1日的修订版10,这意味着什么?那么现在第10版不再是第10版了?现在是1月1日的承诺还是2月12日的承诺?如果有人想知道当我们在1月2日发布一个版本时代码是什么样子的,SVN会告诉他们什么?你想做的只是打破了SVN的全部概念。

你为什么要这样做?为什么不做出改变并做出承诺呢

像Subversion这样的产品的全部意义在于它跟踪所做的所有更改,并允许您准确地查看代码(或任何文本)在任何时间点的状态。如果您可以返回并更改早期的修订,那么就不可能再说明何时进行了哪些更改


更改以前的版本会给您带来什么好处?我想知道你为什么要这么做。如果您在2月12日更改了1月1日的修订版10,这意味着什么?那么现在第10版不再是第10版了?现在是1月1日的承诺还是2月12日的承诺?如果有人想知道当我们在1月2日发布一个版本时代码是什么样子的,SVN会告诉他们什么?你想做的只是打破SVN的全部概念。

你不能改变历史。如果在旧版本的Subversion中出错,则无法修改已提交的修订以修复此错误。你只需要做一个新的提交

现在,当我说你不能改变历史时,我的意思是没有简单的方法。您可以执行
svnadmin转储
,将结果弄糟,然后有选择地执行
svnadmin加载

我不是100%确定该怎么做。我使用转储和加载技术删除了一个版本,该版本中包含了不应该在我们的存储库中的专有信息。但是,我从来没有为了纠正一个老错误而把历史弄糟过

而且,你可能真的不想这么做。想象一下,如果该bug处于修订版23中,并且您已经修复了它。有人对您的代码进行了26次修订,试图找出问题所在,但在源代码中找不到问题。最后,老实说,我们犯了一个错误,我们需要解决它

我可以想象你的行李箱版本24中有一个bug,客户想要版本28,而你的行李箱现在是版本50。如果您修复了版本24中的错误,您可以给客户版本28。在这种情况下,您应该为版本#28创建一个分支,并修复该分支中的错误


您可以这样做:修改commit语句以包含有关错误的注释,这样其他人就会收到警告。

您不能更改历史记录。如果在旧版本的Subversion中出错,则无法修改已提交的修订以修复此错误。你只需要做一个新的提交

现在,当我说你不能改变历史时,我的意思是没有简单的方法。您可以执行
svnadmin转储
,将结果弄糟,然后有选择地执行
svnadmin加载

我不是100%确定该怎么做。我使用转储和加载技术删除了一个版本,该版本中包含了不应该在我们的存储库中的专有信息。但是,我从来没有为了纠正一个老错误而把历史弄糟过

而且,你可能真的不想这么做。想象一下,如果该bug处于修订版23中,并且您已经修复了它。有人对您的代码进行了26次修订,试图找出问题所在,但在源代码中找不到问题。最后,老实说,我们犯了一个错误,我们需要解决它

我可以想象你的行李箱版本24中有一个bug,客户想要版本28,而你的行李箱现在是版本50。如果您修复了版本24中的错误,您可以给客户版本28。在这种情况下,你应该