标签: versioning

自制安装特定版本的公式?

如何在自制软件中安装特定版本的公式?例如,postgresql-8.4.4而不是最新的9.0.

versioning installation homebrew

2072
推荐指数
26
解决办法
105万
查看次数

如何将方法标记为已过时或已弃用?

如何使用C#将方法标记为已过时或已弃用?

.net c# versioning

955
推荐指数
4
解决办法
24万
查看次数

API版本控制的最佳实践?

Web服务REST API版本控制是否有任何已知的方法或最佳实践?

我注意到AWS通过端点的URL进行版本控制.这是唯一的方法还是有其他方法来实现同一目标?如果有多种方式,每种方式的优点是什么?

versioning rest

877
推荐指数
7
解决办法
47万
查看次数

"下游"和"上游"的定义

我已经开始玩Git并遇到过"上游"和"下游"这两个词.我之前见过这些,但从未完全理解它们.这些术语在SCM(软件配置管理工具)和源代码的上下文中意味着什么?

versioning git version-control terminology definition

869
推荐指数
6
解决办法
26万
查看次数

如何强制客户端刷新JavaScript文件?

我们目前正在进行私人测试,因此仍然在进行相当快速的更改,尽管显然随着使用量开始增加,我们将放慢这一过程.话虽这么说,我们遇到的一个问题是,在我们用新的JavaScript文件推出更新之后,客户端浏览器仍然使用文件的缓存版本,但他们看不到更新.显然,在支持调用上,我们可以简单地通知他们进行ctrlF5刷新以确保他们从服务器获取最新文件,但最好在此之前处理它.

我们当前的想法是简单地将版本号附加到JavaScript文件的名称上,然后在进行更改时,增加脚本上的版本并更新所有引用.这绝对可以完成工作,但更新每个版本的引用可能会变得很麻烦.

我确信我们不是第一个处理这个问题的人,我想我会把它扔给社区.在更新代码时,如何确保客户更新缓存?如果您使用上述方法,您是否正在使用简化更改的流程?

javascript versioning caching

570
推荐指数
12
解决办法
44万
查看次数

有没有办法从nodejs代码中的package.json获取版本?

有没有办法package.json在nodejs应用程序中设置版本?我想要这样的东西

var port = process.env.PORT || 3000
app.listen port
console.log "Express server listening on port %d in %s mode %s", app.address().port, app.settings.env, app.VERSION
Run Code Online (Sandbox Code Playgroud)

versioning version node.js npm

519
推荐指数
23
解决办法
21万
查看次数

如何拥有自动递增版本号(Visual Studio)?

我想存储一组在构建时自动递增的整数:

int MajorVersion = 0;
int MinorVersion = 1;
int Revision = 92;
Run Code Online (Sandbox Code Playgroud)

当我编译时,它会自动增加Revision.当我构建安装项目时,它会增加MinorVersion(我可以手动执行此操作).MajorVersion只会手动增加.

然后我可以在菜单Help/About中向用户显示版本号:

  Version: 0.1.92

怎么能实现这一目标?

这个问题不仅要求如何使用自动递增版本号,还要求如何在代码中使用它,这是一个比其他更完整的答案.

c# versioning visual-studio

454
推荐指数
8
解决办法
34万
查看次数

暂时放弃Subversion中未提交的更改(la"git-stash")

在编写存储在Subversion仓库中的软件时,我经常修改一些文件,然后注意我想为我的主要工作做一些预备性更改.例如,在实现新功能时,我注意到一些可能对我有帮助的重构.

为了不混合两个不相关的更改,在这些情况下,我想"收起"我的更改,即恢复到存储库版本,执行一些其他更改,提交这些更改,然后"获取"我的更改.

git-stash允许这样做.是否有一些方法可以直接或使用某些插件或脚本使用Subversion.Eclipse插件也没关系.

svn versioning

305
推荐指数
6
解决办法
8万
查看次数

Nodejs npm显示包的最新版本

如何使用npm显示模块的最新版本?我期待npm --latest express打印出来的东西v3.0.0.

versioning node.js npm

273
推荐指数
7
解决办法
12万
查看次数

.NET中API破坏性更改的权威指南

我想尽可能多地收集有关.NET/CLR中API版本控制的信息,特别是API更改如何破坏客户端应用程序.首先,让我们定义一些术语:

API更改 - 类型的公开可见定义的更改,包括其任何公共成员.这包括更改类型和成员名称,更改类型的基本类型,从类型的已实现接口列表添加/删除接口,添加/删除成员(包括重载),更改成员可见性,重命名方法和类型参数,添加默认值对于方法参数,在类型和成员上添加/删除属性,以及在类型和成员上添加/删除泛型类型参数(我错过了什么吗?).这不包括成员团体的任何变化,或私人成员的任何变化(即我们不考虑反射).

二进制级别中断 - 一种API更改,导致针对旧版本API编译的客户端程序集可能无法加载新版本.示例:更改方法签名,即使它允许以与之前相同的方式调用(即:void返回类型/参数默认值重载).

源级别中断 - 一种API更改,导致编写现有代码以针对旧版本的API进行编译,可能无法使用新版本进行编译.然而,已经编译的客户端程序集像以前一样工作.示例:添加一个新的重载,这可能导致前一个明确的方法调用不明确.

源级安静语义更改 - 一种API更改导致编写的现有代码针对旧版API进行编译,从而悄然改变其语义,例如通过调用不同的方法.但是,代码应该继续编译而不会出现警告/错误,以前编译的程序集应该像以前一样工作.示例:在现有类上实现新接口,导致在重载解析期间选择不同的重载.

最终目标是尽可能地对尽可能多的破坏和静默语义API更改进行编目,并描述破坏的确切影响,以及哪些语言受其影响并且不受其影响.扩展后者:虽然一些变化普遍影响所有语言(例如,向接口添加新成员将破坏任何语言中该接口的实现),但有些需要非常特定的语言语义才能进入游戏以获得休息.这通常涉及方法重载,并且通常涉及与隐式类型转换有关的任何事情.似乎没有任何方法可以在这里定义"最小公分母",即使对于符合CLS的语言(即至少符合CLI规范中定义的"CLS使用者"规则的那些语言) - 尽管我会很感激,如果有人在这里纠正我错了 - 所以这必须按语言去语言.那些最感兴趣的东西自然就是开箱即用的.NET:C#,VB和F#; 但其他人,如IronPython,IronRuby,Delphi Prism等也是相关的.它的角落越多,它就越有趣 - 删除成员之类的东西是不言而喻的,但是例如方法重载,可选/默认参数,lambda类型推断和转换运算符之间的微妙交互可能会非常令人惊讶有时.

举几个例子来启动这个:

添加新方法重载

种类:源级休息

受影响的语言:C#,VB,F#

更改前的API:

public class Foo
{
    public void Bar(IEnumerable x);
}
Run Code Online (Sandbox Code Playgroud)

更改后的API:

public class Foo
{
    public void Bar(IEnumerable x);
    public void Bar(ICloneable x);
}
Run Code Online (Sandbox Code Playgroud)

示例客户端代码在更改之前工作并在其之后中断:

new Foo().Bar(new int[0]);
Run Code Online (Sandbox Code Playgroud)

添加新的隐式转换运算符重载

种类:源级休息.

受影响的语言:C#,VB

语言不受影响:F#

更改前的API:

public class Foo
{
    public static implicit operator int ();
}
Run Code Online (Sandbox Code Playgroud)

更改后的API:

public class Foo
{
    public static implicit operator int …
Run Code Online (Sandbox Code Playgroud)

.net versioning api clr cls-compliant

219
推荐指数
10
解决办法
3万
查看次数