Open source 礼节:我的开源项目的版本?

Open source 礼节:我的开源项目的版本?,open-source,versioning,Open Source,Versioning,这个问题是关于礼仪和开源项目的。 我从github派生了一个应用程序,并添加了两个新特性 第一个功能在其他地方经常被请求。我已经加上了。代码和实现是干净的(我认为) 第二个功能更像是一种黑客行为。它将对其他人有用,但实现在使用上有点脏,在代码上更是如此。我需要这个特性,但我没有足够的技能来正确地完全实现它,或者达到一个可以被认为是对主要项目不利的水平 版本控制应该如何工作?我是不是只需要增加我的免费版本号,然后推到我的主分支 知道哪个版本正在运行、修改过还是原始版本很烦人,因为两者都有相同的

这个问题是关于礼仪和开源项目的。

我从github派生了一个应用程序,并添加了两个新特性

  • 第一个功能在其他地方经常被请求。我已经加上了。代码和实现是干净的(我认为)

  • 第二个功能更像是一种黑客行为。它将对其他人有用,但实现在使用上有点脏,在代码上更是如此。我需要这个特性,但我没有足够的技能来正确地完全实现它,或者达到一个可以被认为是对主要项目不利的水平

  • 版本控制应该如何工作?我是不是只需要增加我的免费版本号,然后推到我的主分支

    知道哪个版本正在运行、修改过还是原始版本很烦人,因为两者都有相同的版本号。但几个月后,当我的github页面的版本号与原来的版本号相同,但实际上两者完全不同时,这会让人困惑吗。(我提出了拉动请求等,但这不是我问题的背景。)

    我参与的项目使用ruby jeweler,因此版本控制格式为:

    Jeweler跟踪项目的版本。它假定您将使用x.y.z格式的版本

    x是“主要”版本,y是“次要”版本,z是补丁版本

    该标准是否也适用于其他项目/语言?我的更改是补丁吗


    谢谢

    来自同一代码库但具有不同功能内容的不同软件在某种程度上应该具有不同的版本号-因此您需要更改版本号(或产品名称)中的某些内容

    您是否计划将第一次变更提交回项目?(你可能应该这样做。)

    第二个功能,黑客,你会随着时间的推移而改进吗?您可以将其保留在自己的开发分支中,以便在仍然从主项目导入更新时更容易单独维护


    或者你打算永远与主项目分开?在这种情况下,你应该考虑重命名软件以及改变版本——或者以某种方式清楚地表明版本是你的而不是他们的。

    < P>这是不容易回答的。版本号处理因项目和目标而异。你认为你的叉子是暂时的吗然后,在许多情况下(例如,可能与较大的重写不同),我不会增加版本号,因为这取决于项目负责人

    许多版本控制方案允许将版本号扩展到类似1.2.3-ross的版本,这有助于用户提交正确的错误报告


    如果你计划一个更长的运行叉,你应该找到一个对你有用的版本控制方案。

    如果你打算分叉,也就是说永远不要与上游合并,那么考虑重命名你的项目。


    否则,通常会使用一个版本号来表示正在运行的分支和变更集。是的,我发送了一个请求并告诉了作者,但没有得到任何回复。我不会继续开发这两个功能。我有我想要的。(也不是自私,在不同的语言/项目名称中会发生一次完全的重写,功能二将出现在这里。但它还不稳定。)