原型和实际实现的源代码控制结构 [英] Source control structure for prototype and real implementation

查看:64
本文介绍了原型和实际实现的源代码控制结构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们应该如何使用原型 + 应用程序的真实"实现在源代码控制中构建项目?

我们为一个新项目开发原型,并将其存储在源代码管理中(Subversion,但问题应该与此无关),在我们所有项目的主存储库中具有以下结构:

<预>[项目名]/树干/来源/用户界面原型/分行/标签/

我们与一名实习生一起致力于领域逻辑的设计,我们计划在下周开始实施领域逻辑.

我们考虑过以下可能性:

  • 一个完全独立的存储库(实习生在源代码控制/Subversion 方面有几周的经验)

  • 我们主存储库中的一个单独项目

  • 现有项目下的一个分支(例如branches/prototype)用于原型,然后使用trunk进行真实"实现

对于这种情况,您会推荐什么结构?

解决方案

在一个拥有多个程序的大型软件部门担任 SCM 经理多年后,我的建议是做一个分支,原因如下:

  1. 如果原型不起作用,你可以让分支在那个时候死掉.

  2. 如果原型可行,那么您可以将其合并回主干以进行主要开发

  3. 如果需要开始主要项目的工作,您可以继续处理原型

Subversion 非常适合处理所有这些场景.您还可以使用标签来帮助控制您的代码.这些代码应尽可能具有描述性,以便您之后的任何人都可以轻松确定代码的用途.

How should we structure a project in source control with prototype + 'real' implementation of the application?

We work on a prototype for a new project and store that in source control (Subversion, but the question should be independent of that) with the following structure in our main repository with all our projects:

[ProjectName]/
  trunk/
    src/
      UIPrototype/
  branches/
  tags/

Along with an intern we work on design for the domain logic, and we plan to start implementation of the domain logic in the following week.

We have thought about the following possibilities:

  • a completely separate repository (the intern has few weeks of experience with source control/Subversion)

  • a separate project in our main repository

  • a branch (e.g. branches/prototype) under the existing project for the prototype and then use trunk for 'real' implementation

What structure would you recommend for this situation?

解决方案

Having spent several years as an SCM manager for a large software department with several programs, my recommendation would be to do a branch for the following reasons:

  1. If the prototype does not work you can let the branch die at that point.

  2. If the prototype works then you can merge it back into a trunk for primary development

  3. You can continue to work on the prototype if works on the primary project needs to begin

Subversion is well suited to handle all of these scenarios. You can also use labels to help control your code as well. These should be descriptive as possible so anyone that comes after you can easily determine what the code is for.

这篇关于原型和实际实现的源代码控制结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆