我正在帮助我的业务部门设置一个Subversion服务器,我正在评估一些选项,如VisualSVN Server,CollabNet Subversion Edge和uberSVN.
我已经尝试过VisualSVN Server的基本版本,看起来相当不错.我也试过uberSVN,很快就看到你不能批量添加现有的存储库是多么令人沮丧.
是否有人在各种Subversion服务器产品之间进行了逐点比较?我还没有发现任何与CI功能矩阵为比较持续集成服务器所做的相同的史诗和全面的事情.
任何人都可以总结各种Subversion服务器之间的差异化功能吗?或者他们在很大程度上是个人品味的问题?
我有兴趣在 git 中存储一个固定大小的 EEPROM HEX 文件。这些文件永远不会改变大小,但它们会经常改变内容。
如果我将一个 EEPROM 文件添加到 git 并提交它,然后我更改文件中的几个字节,git 会在数十或数百次提交中有效地存储此更改吗?
在我对这个问题的研究中,我对这个主题进行了一些彻底的讨论,但其中大多数似乎处理的是 PDF 和 MP3 之类的文件,没有人希望这些文件保持不变或在差异中具有可比性。我想知道 EEPROM HEX 文件是否会因为文件大小保持不变而被区别对待?
编辑(再次)
一些初步观察......(感谢 Krumelur 的“尝试一下”的鼓励!)
我正在测试的文件是一个 7MB 的 Intel HEX 文件。根据 git 的输出,它似乎将此文件视为文本文件:
$ git commit -m "Changed a single byte."
[master bc2958b] Changed a single byte.
1 file changed, 1 insertion(+), 1 deletion(-)
Run Code Online (Sandbox Code Playgroud)
diff 输出也匹配:
$ git show bc2958b
commit bc2958b[...]
Author: ThoughtProcess <blah@blah.com>
Date: Wed Jul 31 11:53:41 2013 -0500
Changed a single byte.
diff --git a/test.hex …Run Code Online (Sandbox Code Playgroud) 这个问题是非常接近这一个,与未成年人的扭曲.
我想建立一个Web API路由表,这样我就可以提出一个请求api/items/5,api/items/newest以便客户端可以获得最新的项目.
我一直在翻阅一些文章,但在确定我是否以正确的方式进行时并没有太多运气.
我的第一个问题是,允许呼叫者找到最新版本的"正确"或"干净"方式是item什么?可以做一些类似的东西api/items/newest还是不赞同的?
目前,这似乎适用于我的WebApiConfig.cs文件:
config.Routes.MapHttpRoute(
name: "NewestItems",
routeTemplate: "api/items/newest",
defaults: new { controller = "Items" }
);
config.Routes.MapHttpRoute(
name: "ItemsById",
routeTemplate: "api/items/{id}",
defaults: new { controller = "Items" }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
这种方法有效,但我很好奇是否有一种更通用的方法来做到这一点,而不需要制定特定于控制器的路由规则.我曾尝试过以下方法,但由于规则含糊不清,因此无效:
config.Routes.MapHttpRoute(
name: "ActionWithNoArgument",
routeTemplate: "api/{controller}/{action}",
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
有没有更有效的方法来执行此操作而不依赖于特定于控制器的路由规则?
多谢你们!