Я думаю, что основные преимущества динамических языков могут быть сведены к
, короткое время цикла испытаний кода дизайна делает динамический идеал языков для разработки прототипа, инструментов и быстрого & грязные одноразовые сценарии. По моему скромному мнению, последние два могут оказать огромное влияние на производительность программиста. Это поражает меня, сколько людей тащится через вещи вручную вместо того, чтобы сделать на скорую руку инструмент, чтобы сделать это для них. Я думаю, что это - потому что у них нет чего-то как Perl на их панели инструментов.
способность взаимодействовать через интерфейс с примерно что-либо (другие программы или языки, базы данных, и т.д.) облегчает снова использовать существующую работу и автоматизировать задачи, которые должны были бы иначе быть сделаны вручную.
Система, которая создает diff (будь то ваш веб-сервер или ваша локальная система), должна иметь полную копию (клон) репозитория git.
Таким образом, вы не можете сделать "удаленный" diffs ".
Итак, если вы не хотите делать git clone
всего ядра, почему бы просто не указать в своем браузере на http://git.kernel.org/? p = linux / kernel / git / torvalds / linux-2.6.git; a = сводка ?
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 : /
Как его найти
Найти в веб-интерфейсе фиксация, которая является фиксацией слияния, например
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1c5aefb5b12a90e29866c960a57c1f8f75def617
Найдите ссылку на различие между фиксацией и вторым родителем, например
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/?id=1c5aefb5b12a90e29866c960a57c1f8f75def617&id2 = 54a217887a7b658e2650c3feff22756ab80c7339
Замените 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