Как в различные файлы непосредственно из репозитория МЕРЗАВЦА ядра Linux?

Я думаю, что основные преимущества динамических языков могут быть сведены к

  1. Быстрая разработка
  2. Связующее звено

, короткое время цикла испытаний кода дизайна делает динамический идеал языков для разработки прототипа, инструментов и быстрого & грязные одноразовые сценарии. По моему скромному мнению, последние два могут оказать огромное влияние на производительность программиста. Это поражает меня, сколько людей тащится через вещи вручную вместо того, чтобы сделать на скорую руку инструмент, чтобы сделать это для них. Я думаю, что это - потому что у них нет чего-то как Perl на их панели инструментов.

способность взаимодействовать через интерфейс с примерно что-либо (другие программы или языки, базы данных, и т.д.) облегчает снова использовать существующую работу и автоматизировать задачи, которые должны были бы иначе быть сделаны вручную.

5
задан Robert S. Barnes 15 November 2009 в 13:12
поделиться

2 ответа

Система, которая создает diff (будь то ваш веб-сервер или ваша локальная система), должна иметь полную копию (клон) репозитория git.

Таким образом, вы не можете сделать "удаленный" diffs ".

Итак, если вы не хотите делать git clone всего ядра, почему бы просто не указать в своем браузере на http://git.kernel.org/? p = linux / kernel / git / torvalds / linux-2.6.git; a = сводка ?

0
ответ дан 14 December 2019 в 01:10
поделиться

Gitweb на kernel.org позволяет просматривать различия между произвольными коммитами, см., Например, следующую ссылку для сравнения различий между 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 (используйте ссылку patch , чтобы получить простой патч, который вы можете применить), а также между произвольными версиями файла / между произвольными версиями произвольных файлов, например: diff для текущей ссылки в просмотр истории .

К сожалению, ни официальная версия gitweb (распространяемая вместе с самим Git), ни вилка, используемая kernel.org, не генерируют ссылки между произвольными коммитами, поэтому вам придется вручную создавать (создавать вручную) URL-адреса для предоставления в gitweb. В случае commitdiff view (действие) вам нужны параметры iparameters: 'h' (хэш) и 'hp' (родительский хэш); в случае представления blobdiff это 'hb ' (хэш-база) и 'hpb' (хеш-родительская база), а также 'f ' http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;hp= A ; h = B

  • Для различий между двумя версиями одного и того же файла (эквивалент git diff AB ). http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blobdiff;f= <имя файла> ; hpb = A ; hp = B

  • Обратите внимание, что в ядре gitweb (но не в форке, используемом в настоящее время kernel.org) вы можете использовать версию path_info, например:
    http: //repo.or .cz / w / git.git / blobdiff / A .. B : /


    Как его найти

    1. Найти в веб-интерфейсе фиксация, которая является фиксацией слияния, например
      https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1c5aefb5b12a90e29866c960a57c1f8f75def617

    2. Найдите ссылку на различие между фиксацией и вторым родителем, например
      https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/?id=1c5aefb5b12a90e29866c960a57c1f8f75def617&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[12118 sizesили для создания патча ( rawdiff )
      https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/rawdiff/?id=v3.15-rc8&id2=v3.15-rc7

    9
    ответ дан 14 December 2019 в 01:10
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: