- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我阅读了一堆关于简单源代码控制工具的问题,Git 似乎是一个合理的选择。我已经启动并运行了,到目前为止效果很好。我喜欢 CVS 的一个方面是版本号的自动递增。
我知道这在分布式存储库中意义不大,但作为开发人员,我想要/需要这样的东西。让我解释一下原因:
我使用 Emacs。我会定期检查并查找第三方软件包的新版本 Lisp 源文件。假设我有一个文件 foo.el,根据标题,它是 1.3 版;如果我查找最新版本并看到它是 1.143 或 2.6 或其他版本,我知道我已经远远落后了。
如果相反,我看到几个 40 个字符的散列,我将不知道哪个是晚的,也不知道它晚了多少。如果我不得不手动检查 ChangeLogs 只是为了了解我有多过时,我绝对会讨厌它。
作为一名开发人员,在我看来,我想将这种礼貌扩展到使用我的输出的人(也许我是在自欺欺人,但让我们暂时搁置一下)。我不想每次都自己记住增加该死的数字,或者时间戳或类似的东西。那是真正的 PITA,我从经验中知道这一点。
那么我有什么选择呢?如果我无法获得 $Id:$ 等价物,我还能如何提供我正在寻找的内容?
我应该提一下,我的期望是最终用户不会安装 Git,即使他们安装了,也不会有本地存储库(事实上,我不希望以这种方式提供)。
最佳答案
SHA 只是版本的一种表示形式(尽管是规范的)。 git describe
命令提供了其他命令并且做得很好。
例如,当我在 Java memcached client 的主分支中运行 git describe
时来源,我明白了:
2.2-16-gc0cd61a
这说明了两件重要的事情:
比方说,您用源代码打包了一个 version
文件(或者甚至重写了所有内容以供分发)以显示该编号。假设打包版本是 2.2-12-g6c4ae7a
(不是发行版,而是有效版本)。
您现在可以准确地看到您落后了多远(4 次提交),并且您可以准确地看到是哪 4 次提交:
# The RHS of the .. can be origin/master or empty, or whatever you want.
% git log --pretty=format:"%h %an %s" 2.2-12-g6c4ae7a..2.2-16-gc0cd61a
c0cd61a Dustin Sallings More tries to get a timeout.
8c489ff Dustin Sallings Made the timeout test run on every protocol on every bui
fb326d5 Dustin Sallings Added a test for bug 35.
fba04e9 Valeri Felberg Support passing an expiration date into CAS operations.
关于git - 从 CVS 迁移到 Git : $Id$ equivalent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/384108/
我需要一个正则表达式,它只会选择那些不以 .png 或 .css 等特定扩展名结尾的 URL 字符串。 我测试了以下内容: 1)这个使用负回顾: (? SetHandler "proxy:un
我似乎无法确切地掌握名称的等效性。我很确定我的结构已经下降。我的教授给出的一个例子是: Type TI=integer Type TTI=TI a=integer b=TTI f= ref
我最近为问题“A Regex that will never be matched by anything ”( my answer here ,请参阅更多信息)计时了一堆正则表达式。 然而,在我测试
Clojure 为 提供方法懒惰评估 (无限)序列中的值。有了这个,值只会在它们被实际消耗时计算。 一个重复元素的无限序列示例: (take 3 (repeat "Hello StackOverflo
如果我使用文本文件在 Solr/Lucene 中定义同义词,如下所示: foo, bar, goo abc, bar, xyz 字bar在两条线上。 这是否意味着 Solr 将所有术语都视为同义词,因
在 Xcode 中,当您设置键盘快捷键时,有一个很好的控件可以帮助您: 我觉得我可以通过扩展 NSTextField 来重现它,但我也觉得这可能是其他人以前做过的事情。我做了一些搜索,但没有找到任何结
我对汇编语言有点陌生,很难理解术语“字节等效”。 它用于以下上下文:- MOV 指令有时会引起歧义。例如,查看以下语句: MOV EBX, [MY_TABLE] ; Effective Addre
这是一个“软性问题”,因此,如果此发布地点不合适,请告诉我。 本质上,我想知道如何谈论在某种意义上“等效”而在另一些意义上“不同”的算法。 这是一个玩具示例。假设我们得到了一个长度为list的数字n的
我(在 Protege 中)定义了一个 Missing 类,它相当于 ((not (atHome value 30)) and (not (atWork value 30)))and (not (on
我正在处理一个烦人的数据库,其中一个字段包含真正应该存储在两个单独字段中的内容。因此该列存储的内容类似于“第一个字符串~@~第二个字符串”,其中“~@~”是分隔符。 (再说一次,我没有设计这个,我只是
在 Django 中,这两个是等价的吗? Cars.objects.exclude(brand='mercedes').exclude(year__lte=2000) 和 Cars.objects.e
此代码行选择任何类名不是“id”和“quantity”的 div 内的所有子输入:: $("div.item > div:not(.id,.quantity) > :input").live("key
在 Vue 1.x 中,我使用以下指令直接选择一个节点。 然后: this.$els.visibleColumns 是否有 Vue 2.x 方法来做到这一点? 最佳答案 当然,所以它已被 ref/$
我在underscore.js源码中看到了这段代码: if ((!a && b) || (a && !b)) return false; 这是否等同于以下内容? if (a ^ b) return f
我需要一些关于批处理文件中 grep -v Wildcard 和 grep -o 的等效代码的帮助。 这是我在 shell 中的代码。 result=`mysqlshow --user=$dbUser
我试图在 SQL 中找到等同于 IN\NOT 的 ElasticSearch 查询。 我知道我们可以使用带有多个 OR 的 QueryString 查询来获得相同的答案,但最终会得到很多 OR。 谁能
On a separate post , 我在帮忙George Edwards使用 BLE API 分解一些代码. 我很确定我发布的代码(使用分解模板)与原始代码相同。但是当 George 将它发送到
是否有办法“模仿”background-size:cover; 的行为? (参见 http://www.w3schools.com/cssref/playit.asp?filename=playcss
我正在使用 Qt。我需要直接向我的打印机写入一些文本。在 Windows 上,我可以使用 winapi OpenPrinter 和 WritePrinter 执行此操作,但我需要此代码才能在 linu
我搜索过并使用过 UIDevice.currentDevice().instancesRespondToSelector(Selector("userInterfaceIdiom")) 但对我不起作用
我是一名优秀的程序员,十分优秀!