如何直接从Linux内核GIT存储库中扩展文件?

Rob*_*nes 5 git diff linux-kernel

我希望能够直接从Linux Kernel GIT存储库中分配文件/目录,而无需下载完整的源代码.

具体来说,我对两个可能的解决方案感兴趣:

  1. 通过网络浏览器(firefox)进行差异的能力
  2. Ubuntu的GUI实用程序,可以执行远程差异.
  3. 如何设置选项#2的教程

编辑

作为我正在寻找的一个例子,我曾经在CVS回购中使用CrossVC来完成上述任务.

Jak*_*ski 9

kernel.org上的Gitweb允许查看任意提交之间的差异,例如参见v2.6.32-rc6和v2.6.32-rc7之间差异的以下链接:
http://git.kernel.org/?p = linux/kernel /git/torvalds/linux-2.6.git;a=commitdiff;hp=refs/tags/v2.6.32-rc6;h=refs/tags/v2.6.32-rc7 (使用补丁链接获取可以应用的普通补丁),以及任意版本的文件之间/任意版本的任意文件之间,例如:差异到历史视图中的当前链接.

不幸的是,官方的gitweb版本(与Git本身一起分发),以及kernel.org使用的fork都没有生成任意提交之间的链接,所以你必须手工(手工创建)URL来提供给gitweb.在commitdiffview(action)的情况下,你需要的iparameters是'h'(hash)和'hp'(hash parent); 在blobdiff视图的情况下,它们是'hb'(哈希基础)和'hpb'(哈希父基础),以及'f'(文件名)和'fp'(文件父).

模板

注意核心gitweb(但不是kernel.org目前使用的fork)你可以使用path_info版本,例如:
http://repo.or.cz/w/git.git/blobdiff/A..B:/<filename>


如何找到它

  1. 在Web界面中查找提交是一个合并提交,例如
    https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1c5aefb5b12a90e29866c960a​​57c1f8f75def617

  2. 查找提交与第二个父项之间差异的链接,例如
    https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/?id=1c5aefb5b12a90e29866c960a​​57c1f8f75def617&id2=54a217887a7b658e2650c3feff22756ab80c7339

  3. 将比较提交的SHA-1替换为您要比较的修订名称或修订标识符,例如在v3.15-rc8和v3.15-rc7之间生成差异
    https://git.kernel.org/cgit/linux/kernel /git/torvalds/linux.git/diff/?id=v3.15-rc8&id2=v3.15-rc7

    或生成补丁(rawdiff)
    https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/rawdiff/?id=v3.15-rc8&id2=v3.15-rc7


ndi*_*dim 0

创建 diff 的系统(无论是您的网络服务器还是本地系统)必须拥有 git 存储库的完整副本(克隆)。

所以你不能做“远程差异”。

因此,如果您想避免执行git clone整个内核的操作,为什么不将 Web 浏览器指向http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a =总结