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流程:分公司的客户特定开发_Svn_Architecture_Branching And Merging - Fatal编程技术网

SVN流程:分公司的客户特定开发

SVN流程:分公司的客户特定开发,svn,architecture,branching-and-merging,Svn,Architecture,Branching And Merging,对于基于java的产品,我的SVN结构就是这样的: \分支\clientA\trunk\tags 客户A具体的产品定制正在clientA分公司进行。完成发布自定义后,分支将被标记并发布。现在,我不打算将这些更改合并到主干中,因为它们是特定于客户端的更改 比方说,我发布了一个版本MyProduct-ClientA-REL-v1.0。 客户端A要求更多功能/增强功能。因此,我继续在同一个分支中开发,为下一个版本做好准备(MyProduct-ClientA-REL-v1.1)。在为这个版本开发时,客户

对于基于java的产品,我的SVN结构就是这样的:

\分支
\clientA
\trunk
\tags

客户A具体的产品定制正在
clientA
分公司进行。完成发布自定义后,分支将被标记并发布。现在,我不打算将这些更改合并到主干中,因为它们是特定于客户端的更改

比方说,我发布了一个版本
MyProduct-ClientA-REL-v1.0
客户端A要求更多功能/增强功能。因此,我继续在同一个分支中开发,为下一个版本做好准备(
MyProduct-ClientA-REL-v1.1
)。在为这个版本开发时,客户机A回来说他在以前的版本中遇到了一个bug

我现在该怎么办?比如说,我在v1.0代码的同一分支中修改了太多内容(已删除的文件)

这个问题有意义吗?

我会怎么做

在发布时导出clientA标记(如果您没有将其作为标记,则必须进行一些研究,以找到它与哪个版本等效)。另外,如果您以前没有做过标记,那么在找到修订版之后是一个很好的时机

这样,就可以为该版本创建一个额外的分支。进行修复并提交到给定的分支。获取发布版本的差异,并在客户端主分支中修复它


对于其他定制,可能最好创建一个分支“ClientX”,然后在那里重新创建主干/分支/标记结构。

为什么不在REL 1.1中包含错误修复?这是一个热修复程序-现在必须执行-迫不及待。您可以修改REL 1.0,将其作为1.01发布,然后将其合并到REL 1.1REL1.0是一个标记。你的意思是说我需要创建一个新的修补程序分支,从/tags/MyProduct-ClientA-REL-v1.0复制它?对其进行更改并发布?我可能不需要将这段代码合并到REL1.1中,因为作为热修复的一部分修复的文件在REL1.1中不存在。它们在1.1中被删除,因为它们不是必需的。请将标记REL 1.0复制到新的修补程序/功能分支。进行更改,将其标记为REL 1.01,然后再次删除要素分支。稍后,在发布1.1之前,您需要将标签REL 1.01合并到。将标签导出到分支与将标签复制到分支之间有什么区别?我的意思是将
导出为“将给定版本/标签导出到您的HDD,以便您可以处理它”。您可以先将标记复制到分支,然后只导出分支。