Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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_Ankhsvn - Fatal编程技术网

SVN外部标记过程

SVN外部标记过程,svn,tortoisesvn,ankhsvn,Svn,Tortoisesvn,Ankhsvn,我只有一个存储库 假设我有一个LibraryX,我在各个项目中共享它 假设ApplicationA(以及其他应用程序)使用LibraryX并将其作为外部引用 在开发ApplicationA的同时,我也可能对LibraryX进行修改 假设ApplicationA和LibraryX都做了更改,现在我正在发布一个版本 如果您同意/不同意以下流程,请告诉我,和/或告诉我您将如何改进: 创建LibraryX的标记 分支应用程序 更改分支应用程序A上的externals以指向标记的LibraryX,或者指

我只有一个存储库

假设我有一个LibraryX,我在各个项目中共享它

假设ApplicationA(以及其他应用程序)使用LibraryX并将其作为外部引用

在开发ApplicationA的同时,我也可能对LibraryX进行修改

假设ApplicationA和LibraryX都做了更改,现在我正在发布一个版本

如果您同意/不同意以下流程,请告诉我,和/或告诉我您将如何改进:

  • 创建LibraryX的标记
  • 分支应用程序
  • 更改分支应用程序A上的externals以指向标记的LibraryX,或者指向特定的修订版(以防将来有人意外提交标记)
  • 创建分支应用程序的标记a
  • 删除分支应用程序a
听起来合理吗?有更好的主意吗?想法?

我做了以下几点:


  • 我总是在特定版本中引用库。如果库发生更改,并且我希望在应用程序中进行更改,那么我将更新externals定义
  • 在发布时,我创建了应用程序的一个标记。我不需要采取额外的步骤,因为引用了库的特定版本
一些补充意见:

  • 有时我没有引用库的特定版本(因为我太懒了),但我知道这些修订版在将来将不可用。如果你意识到这一点,你可以做出决定。但是,在创建标记之前,我总是冻结库引用
  • 有时我会创建一个分支而不是一个标记,这样我就可以修复一些bug,同时继续下一个版本的工作。最后,我为这个分支创建了一个标记并删除了这个分支。(可能我创建了多个标记,但分支总是在最后被删除。)
  • 我之所以删除分支,是因为我只将分支用作短期实体:功能分支或发布分支以稳定发布。我没有必要保留分支,因为标记是我感兴趣的版本
  • 如果我需要修复标记中的错误,那么我首先创建一个分支。修复错误并创建新标记(并删除分支)
  • 如果需要在库中修复错误(尽管有点复杂),也同样适用:在分支中,您要么更新到最新的库(如果可能),要么创建库的引用修订版的分支。然后,将externals更改为指向此分支,修复库中的错误,将externals定义冻结为库分支的最新版本,并为应用程序创建标记。我通常不会费心为库创建标记,但这也是可能的。但是,我确实删除了库分支:如果再次需要它,您可以基于已删除库分支的上一个修订版创建一个新分支
  • 外部标签是浪费时间
  • 应用程序的分支A+编辑(LibraryX的修订版)svn:external in Branch+提交+将分支中的最后一次修订标记为“产品标签”

  • 为什么要删除分支应用程序A?它不会占用任何额外的空间,直到你开始对它进行更改,如果你要对该版本进行任何错误修复,你将不得不从标签中重新发布它…@nachito Okay。也许保留分支是有意义的。如果您使用svn:externals在特定版本中提取外部内容,则始终建议您。“我总是在特定版本中引用库。”品味和工作流可能有所不同