标签: versioning

版本化RESTful服务?

我在http://example.com/v1/SomeResource上部署了RESTful Web服务.有一天,新的协议版本(不向后兼容)被部署到http://example.com/v2/SomeResource.从客户端看,此升级可能在两个HTTP请求之间的任何时间发生.

服务器如何向客户端指示它不再支持v1调用,并且客户端应该升级到v2?我可以使用适当的响应代码吗?

我想向客户提供以下信息:

  1. 发生了不兼容的升级.客户端无法使用新服务,因为协议可能完全不同.
  2. 新客户端软件的URL.
  3. 向用户解释他们必须升级的消息.

versioning rest

10
推荐指数
2
解决办法
1万
查看次数

是否有充分的理由让AssemblyVersion和AssemblyFileVersion匹配?

宪兵AvoidAssemblyVersionMismatchRule以下描述:

此规则检查[AssemblyVersion]匹配两者[AssemblyFileVersion]何时出现在程序集中.部署应用程序后,在两个属性中具有不同的版本号可能会造成混淆.

例如,此规则会警告Microsoft System.dll具有以下属性:

[assembly: AssemblyVersion("2.0.0.0")]
[assembly: AssemblyFileVersion("2.0.50727.3053")]
Run Code Online (Sandbox Code Playgroud)

我不同意宪兵的规则.接下来它将使您无法使用类似于Microsoft使用的版本控制方案,即

  • 更新AssemblyFileVersion每个构建,
  • 改变AssemblyVersion只在公共接口或其他大的变化,
  • 确保AssemblyVersionAssemblyFileVersion共享一个共同的前缀,

我认为这个版本控制方案是为什么能够区分AssemblyVersionAssemblyFileVersion首先区分的设计原因.

我无法想出为什么强制两个装配属性相等是一个好习惯,但也许你可以!我会对你的意见感兴趣.

如果确实没有充分的理由,我很快会建议宪兵开发者将规则改为

当规则内部存在两个前缀,此规则检查[AssemblyVersion]并且具有公共的非空前缀.[AssemblyFileVersion]

.net versioning attributes assemblyinfo gendarme

10
推荐指数
1
解决办法
1190
查看次数

10
推荐指数
2
解决办法
3737
查看次数

什么是有用的分支版本策略?

我们已经转向产品版本控制方法,它将根据以下格式标记/增加构建:[Major].[Minor].[Build].[Revision/Patch]和生产版本基本上是主要或次要的增量(取决于更改的范围).

这对于补丁和Trunk构建非常有用,但对于分支中的并发功能开发来说效果不是很好 - 特别是因为很可能我们会在分支上构建候选版本而不是合并到Trunk并释放(不是我喜欢的选项,但很可能不幸的是,更加现实.

无论我们是否合并到主干(或不是),是否有人有任何有用的策略来处理分支版本控制?我们需要能够从分支和主干中唯一地识别构建,并且可能在任何给定时间从主干或分支中释放.

一些考虑:

  • 我们可能事先不知道发布顺序是什么,因此尝试在逐个分支的基础上假设次要版本应该是不可能解决问题的.
  • 我们可以在产品编号中添加另一个数字,表示分支(如果适用),但它在逻辑上会位于何处?

(轻量级)场景可能会有所帮助:

Product X\Trunk (ver 1.1.208.0)
Product X\Branches\Feature A (ver 1.1.239.0)
Product X\Branches\Feature B (ver 1.1.221.0)
Run Code Online (Sandbox Code Playgroud)

编辑:到目前为止我发现的最好的文档位于MSDN上,虽然它对并发分支的独特版本有点模糊.

versioning build

10
推荐指数
1
解决办法
3668
查看次数

为什么这么多项目在git版本标签前加上"v"?

许多项目(例如Linux)都v在它们的git版本标签之前,例如v3.19,这使得解析这些标签变得更加困难,没有明显的原因.这样做有什么意义?

linux versioning git

10
推荐指数
1
解决办法
432
查看次数

增加文本文件中的版本

我有一个文本文件,只包含一行,我的应用程序的版本号.一个例子是1.0.0.1.我想增加内部版本号.使用我的示例,我将在同一文本文件中获得输出1.0.0.2.

我怎么能用Powershell做到这一点?

versioning powershell

10
推荐指数
1
解决办法
6431
查看次数

为什么网站会显示SVN版本,有哪些优势?

到目前为止我还没有使用过SVN.为什么网站(例如Stack Overflow)会在底部显示SVN版本?它是什么版本的?在公共场合展示它有什么好处?

替代文字http://shobankr.googlepages.com/so.jpg

svn versioning version-control

9
推荐指数
1
解决办法
343
查看次数

查找最新批准的SPListItem版本

我试图遍历SPListItem.Versions集合以查找最新批准的列表项.

我的列表项有三个版本:前两个是批准的,最后一个是草稿.但我的代码说他们都在选秀中!请帮忙!

// Iterate through all versions
for (int index = 0; index < item.Versions.Count; index++)
{
    SPListItem versionedItem = item.Versions[index].ListItem;

    // Check if moderation information is set to approved
    if (versionedItem.ModerationInformation.Status.Equals(SPModerationStatusType.Approved))
    {
        // We found an approved version!
        itemFound = versionedItem;
    }
}
Run Code Online (Sandbox Code Playgroud)

versioning sharepoint document-library splistitem

9
推荐指数
3
解决办法
2万
查看次数

为什么Maven 3会放弃支持应用程序$ version声明?

正如你从标题中看到的那样,我想问一下Maven 3中的情况不再支持pom.xml中的$ version.我们是否必须一次又一次地在每个pom.xml和相关配置文件中的每个项目中写一个常量?我们怎么能避免这样做?我们如何使用像$ version这样的版本控制方法?

versioning maven-2 version maven-3 maven

9
推荐指数
1
解决办法
1万
查看次数

如何检查两个Java类在语义上是否相同?

我需要合并两个类似的巨大项目(1000多个类).第二个是第一个的分支,它包含一些特定于国家的行为.这两个项目分歧很大,因为svn版本处理得非常糟糕.

经常发生两个类在语义上相同.它们的源代码仅在警告,导入语句,某些方法或变量的顺序,代码格式,注释等方面有所不同.

有没有办法自动检查两个类在语义上是否相同?

java versioning merge

9
推荐指数
1
解决办法
133
查看次数