标签: 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万
查看次数

使用CruiseControl.net进行程序集版本控制

我已经为一些与我相关的项目设置了CruiseControl.net.因此,CruiseControl中的单个项目标签具有多个SVN检出,然后一堆msbuild任务编译所有单独的sln文件.

我需要在完成此构建时更新所有解决方案的程序集版本.但是,因为我没有使用nant而不使用MSBuild proj文件,所以我不确定如何获取它.

我想知道我是否遗漏了一些明显的东西.我只需要一个可以通过在ccnet.config文件中进行适当更改来实现的解决方案,而无需我对csproj文件进行更改.

谢谢,Anj

versioning cruisecontrol.net assemblyinfo

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

网站版本号 - 有用还是毫无意义?

个人网站和我参与的其他网站)在页脚或网站的其他区域谨慎地显示其当前版本号.我的问题是这对于访问者是否是有用的信息,还是它的文本"噪音".

值得注意的是,版本号是软件的版本(不是博客中的数据或其他),因此与"此站点上的内容有多大"的观点无关.

由于在任何给定的时间点只有一个版本的站点处于活动状态并且它不是重新分发的产品,版本号是否可用于任何目的?我理解这是一个主观问题,但我想对此进行评估,以指导有关版本号及其相关性的未来决策.

versioning

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

在您的代码中支持多个Python版本?

今天我尝试在我编写的以Python 2.6为目标的脚本中使用pyPdf 1.12.在运行我的脚本,甚至导入pyPdf时,我会收到有关弃用功能的抱怨(md5-> hashsum,sets).我想提供一个补丁来使这项工作在2.6中干净利落,但我想作者不想破坏旧版本(2.5及更早版本)的兼容性.

截至目前为止,搜索Google和Stack Overflow都没有发现.我觉得我在导入语句之前看过try/except块之前完成类似的事情,但找不到任何例子.是否有支持多个Python版本的普遍接受的最佳实践?

python versioning

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

Git全球标签---显然很糟糕,但为什么呢?

2005年发给Linux内核邮件列表的电子邮件中,Linus Torvalds非常强调git中的标签应该是私有的,并且在从其他人那里获取时不会自动包含:

拉经常头不能必须 更新标签.标签不与树有关,他们不能一定 不是如此,正是因为这将使他们全球,而不是私人的,它会从根本上使他们无法散发

和:

认为取出别人树意味着你应该获取他的标签是错误的,错误的,错误的.

我不是内核黑客.我使用git的原因之一是能够从不同的位置编辑我自己的代码.标签似乎是描述不同版本以供将来参考的自然方式,例如哪些有效,哪些无效,哪些怪癖存在.因此,对我而言,标记在提取中持续存在似乎是有帮助的.有人可以解释这种范式的危险吗?

为什么私有标签如此重要?还有什么选择?每次我想要标记特定版本的代码时,我应该简单地创建一个单独的分支吗?

versioning tags git version-control linux-kernel

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

寻找数据库版本控制的解决方案

问题描述:

在我们的项目中,我们有一个"生产数据库"和许多"开发人员".我们想知道如何管理和安装更改.我们已经有一些程序,但需要花费很多时间,有时会导致错误.

我们不能丢失数据 - 所以我们不能使用"丢弃表".我们只能使用"alter table".

我们实际的"db版本化程序"是这样的:

  • 我们有一个名为[actual_version]的表,其中包含已安装的db模式的实际版本
  • 我们有一个名为"changes_script.sql"的文件,其中包含所有数据库更改 - 此文件存储在SVN上

当开发人员想要在SVN上提交新版本时,他需要通过添加块来更改change_script.sql:

if ([acctual_version].version < "23")) {
    --- sql script ----
updateVersionTo("23")
end if 
Run Code Online (Sandbox Code Playgroud)

当我们想要升级数据库模式时,我们只需"执行"change_scripts.sql

有没有人有更好的主意?

sql-server versioning

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

版本化存储过程/ PLSQL?

有没有一种有效的方法来用PL/SQL编写的版本存储过程?(我只提到PL/SQL,因为可能存在一个特定的工具,任何针对存储过程版本控制的答案都是理想的).

versioning plsql stored-procedures

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

核心数据无法找到源存储的模型 - 我的旧商店看起来像什么?

首先,这个问题对于实现核心数据版本控制的正确轨道有很大帮助.所以我为我的模型添加了一个新版本,现在我正在尝试让自动迁移工作,但我遇到了问题.我不记得我的旧版本是什么样的!我正在尝试在手机上运行应用程序,但我一直在使用模拟器并对架构进行了一些更改.手机上的版本是很久以前的.所以每次我尝试将旧版本修改为我认为在手机上的内容,但我仍然得到"找不到源代码存储模型"的错误.我猜它是因为我得到了旧架构错误.

有什么方法让我弄清楚手机上的架构是什么样的?除此之外,我怎么能从手机上擦除sqlite商店以便从版本1重新开始呢?

versioning iphone core-data

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

Web Api 2 API无法识别路由的多个属性(版本控制)

我正在尝试实现属性路由VersionedRoute来自RoutingConstaints示例,但是当我在控制器上使用两者时,版本化属性不再起作用.

我需要在属性上修改什么才能让它与属性路由一起使用?

对于代码示例,请下载示例项目(或者只查看上面链接中的几个文件),然后修改路由:

// When I use the RoutePrefix, VersionedRoute no longer works (Sending "Api-Version" through http header doesn't route correctly
// If I remove the RoutePrefix I can use VersionedRoute again
// What do I need to change in its code to be able to use both?

[VersionedRoute("api/Customers", 1)] // This route would be used as http://url/api/customers with a header of "api-version: 1"
[RoutePrefix("api/v1/Customers")] // This route would be used purely through url …
Run Code Online (Sandbox Code Playgroud)

c# versioning asp.net asp.net-web-api asp.net-web-api2

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

有条件的Gitignore

我有一个git仓库,我存储了我的个人文件.其中一些文档是LaTeX文件,有些甚至是PDF.我当然希望他们在我的文件回购中.

但是当我创建一个org-mode文档(*.org)时,我经常构建它,导致在调用org-mode文档时创建这些文件?:

  • α.tex
  • α.pdf
  • 自动/α.el

我不想跟踪它们,因为它们是生成的文件,我有源代码,但我不能简单地忽略*.tex所有*.pdf文件,甚至不是所有文件.

可以在.gitignore被告知忽略名称为每个文件?.tex或者?.pdf是否有一个名为?.org?是一个变量的任意字符串?

versioning git emacs gitignore org-mode

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