软件版本控制
Software Versioning
平台 : Visual Studio 2008(我知道它很旧但我有我自己的原因)。
我对软件版本控制的概念不熟悉,因此需要有关如何使用它的建议。
目前,我是这样使用软件版本控制的:-
- 1.0.0.0 到 1.0.0.1(用于消除错误)
- 1.0.0.0 到 1.0.1.0(对于软件的微小变化,如性能改进)
- 1.0.0.0 到 1.1.0.0(用于在软件中添加某些功能)
- 1.0.0.0 到 2.0.0.0(主要更新)
这是我从 here 那里学到的。
现在我能想到的问题是当软件从版本3.5.17.34851.0.0.0 那么就会有无数行代码。例如:
将 1.0.0.0 更新为 1.0.0.1
- 使用存储过程而不是视图
- 添加了备份功能
将 1.0.0.1 更新为 1.0.0.2
- 改进了备份功能实用程序。
将 1.0.0.2 更新为 1.0.0.3
- 修复了软件备份功能中的错误。
现在假设从版本 1.0.0.0 更新到 1.0.0.1 花了 40 行代码来更改数据库或存储在系统中的文件的设计,并且对于每个单独的更新,将需要越来越多的代码,具体取决于更新。现在到了3.5.17.3485版本后想想会有多少行代码
谁能告诉我如何处理这种情况?
你应该看看 Semantic Versioning:
Consider a version format of X.Y.Z (Major.Minor.Patch). Bug fixes not affecting the API increment the patch version, backwards compatible API additions/changes increment the minor version, and backwards incompatible API changes increment the major version.
只有真正更改主要版本的版本可能需要您的应用程序的用户更改his/her自己的代码。
为什么开发者需要维护更新日志?如果你使用 svn/git 或其他任何东西,任务可以很容易地自动化。另外,如果 3.5.readme/history 版本的文件 17.xxx 只包含 3.5.0.0.
版本以后的日志,我想每个人都会很高兴
尽可能多地自动化构建系统有很多优点,尤其是自动化任务在执行 'quick' 修复或针对客户的特殊版本时不会忘记事情。
平台 : Visual Studio 2008(我知道它很旧但我有我自己的原因)。
我对软件版本控制的概念不熟悉,因此需要有关如何使用它的建议。
目前,我是这样使用软件版本控制的:-
- 1.0.0.0 到 1.0.0.1(用于消除错误)
- 1.0.0.0 到 1.0.1.0(对于软件的微小变化,如性能改进)
- 1.0.0.0 到 1.1.0.0(用于在软件中添加某些功能)
- 1.0.0.0 到 2.0.0.0(主要更新)
这是我从 here 那里学到的。
现在我能想到的问题是当软件从版本3.5.17.34851.0.0.0 那么就会有无数行代码。例如:
将 1.0.0.0 更新为 1.0.0.1
- 使用存储过程而不是视图
- 添加了备份功能
将 1.0.0.1 更新为 1.0.0.2
- 改进了备份功能实用程序。
将 1.0.0.2 更新为 1.0.0.3
- 修复了软件备份功能中的错误。
现在假设从版本 1.0.0.0 更新到 1.0.0.1 花了 40 行代码来更改数据库或存储在系统中的文件的设计,并且对于每个单独的更新,将需要越来越多的代码,具体取决于更新。现在到了3.5.17.3485版本后想想会有多少行代码
谁能告诉我如何处理这种情况?
你应该看看 Semantic Versioning:
Consider a version format of X.Y.Z (Major.Minor.Patch). Bug fixes not affecting the API increment the patch version, backwards compatible API additions/changes increment the minor version, and backwards incompatible API changes increment the major version.
只有真正更改主要版本的版本可能需要您的应用程序的用户更改his/her自己的代码。
为什么开发者需要维护更新日志?如果你使用 svn/git 或其他任何东西,任务可以很容易地自动化。另外,如果 3.5.readme/history 版本的文件 17.xxx 只包含 3.5.0.0.
版本以后的日志,我想每个人都会很高兴尽可能多地自动化构建系统有很多优点,尤其是自动化任务在执行 'quick' 修复或针对客户的特殊版本时不会忘记事情。