1

我正在尝试处理 git hub 项目源代码:

https://github.com/esheri3/OWASP-CSRFGuard

然而,我正在使用的 jar 的清单看起来像这样:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_22-b04-307-10M3261 (Apple Inc.)
Project-Lead: Eric Sheridan (eric.sheridan@owasp.org)
Version: 3.0.0.503

我从该站点获得的最新 jar 的清单如下所示:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_16-b01 (Sun Microsystems Inc.)
Project-Lead: Eric Sheridan (eric@infraredsecurity.com)
Version: 3.0.0.591

我想知道如何检索创建具有第一个清单编号的 jar 的整个代码库: 3.0.0.503 不是最新的源代码,而是过去的版本;这样我就可以根据需要在我的系统上构建和修改。

我认为颠覆要容易得多。请注意,我已经在我的系统上克隆了 git 项目。系统信息:Windows 7, 64 bit msysgit 1.7.10 git extensions installed

任何指针将不胜感激。

4

3 回答 3

2

该项目选择不使用 git 标记版本。特定“版本”的唯一标志是更新名为 Owasp.CsrfGuard/build.number 的文件

所以理论上你需要阅读这个文件的历史记录(例如使用 git log)来查看该文件中的内部版本号何时设置为 503,然后让 git 检查整个树的特定版本。

这取决于项目所有者他们如何管理版本号,他们本可以在颠覆中使事情变得同样困难。在这个特定项目的情况下,似乎没有押韵或理由。github 历史从 499 直接跳到 504。所以我猜可能除了某些开发人员的本地硬盘上之外,构建 503 根本就不存在,这意味着他们实际上根本没有进行正式的版本控制——只是一个临时代码下载到 github。

于 2012-07-28T01:08:07.570 回答
1

不幸的是,我找不到版本 503,但我确实找到了 504。祝你好运!

如果您运行以下命令,您应该能够获得 504 版本的代码。

git checkout 04b240c1874c2176cab5fbc662a9676b085d7f1e

来源:使用 github blame 查看版本何时更改。 责备

于 2012-07-28T01:02:13.103 回答
1

找到创建该文件的提交。在 Github 中这很容易,因为每个文件都显示了更改它的最新提交。您可以单击该提交并获取 SHA1。

然后,您可以使用该 SHA1 在该特定提交处签出代码:

$ git checkout SHA1
于 2012-07-28T01:02:29.127 回答