Что именно означает слово Patch, когда речь идет о "отправке патча"?
Что именно означает слово patch, когда речь идет о "отправке патча"?
Я видел это много, особенно в мире с открытым исходным кодом. Что это значит и что именно участвует в отправке патча?
10 ответов
Это файл со списком различий между файлами кода, которые были изменены. Обычно это в формате, созданном путем выполнения diff-u по двум файлам. Большинство систем управления версиями позволяют легко создавать патчи, но, как правило, в том же формате.
Это позволяет легко применить изменение кода к чужой копии исходного кода с помощью патчДавайте я имеется следующий код:
<?php
$foo = 0;
?>
и я меняю его на это:
<?php
$bar = 0;
?>
файл исправления может выглядеть следующим образом:
Index: test.php
===================================================================
--- test.php (revision 40)
+++ test.php (working copy)
@@ -3,7 +3,7 @@
<?php
- $foo = 0;
+ $bar= 0;
?>
Ричард Джонс, разработчик Red Hat, имеет хороший маленький праймер при отправке кода в проекты с открытым исходным кодом, который охватывает создание и отправку исправлений.
патч обычно представляет собой файл, содержащий информацию о том, как что-то изменить (очень часто для исправления ошибки, но также может быть улучшением). Есть разные виды патчей.
исправление исходного кода содержит информацию о необходимости изменения одного или нескольких файлов исходного кода. Вы можете легко генерировать их с помощью diff и вы можете применить их с помощью патч command (в системах Linux / UNIX эти команды стандарт.)
тем не менее, есть также двоичные патчи. Двоичный патч содержит информацию о том, как необходимо изменить определенные байты в двоичном файле. Бинарные патчи, конечно, редки в мире открытых источников, но в первые дни компьютеров я видел их много, чтобы изменить отправленные двоичные файлы (обычно для работы с ошибкой).
отправка патча означает, что вы локально исправили что-то, и теперь вы отправляете файл кому-то, чтобы он мог применить этот патч к своей локальной копии или к публичная копия в интернете, таким образом, другие пользователи могут воспользоваться исправлением.
патчи также часто используются, если у вас есть исходный код, который почти компилируется на определенной платформе, но некоторые крошечные изменения необходимы для его компиляции. Конечно, вы можете взять источник, изменить его и предложить измененный код для скачивания. Но что, если исходный источник снова изменится (например, исправлены ошибки или добавлены небольшие улучшения)? Затем вам нужно было повторно загрузить источник, применить изменения снова и предлагают новую измененную версию. Это большая работа, чтобы сохранить ваш измененный источник в актуальном состоянии. Вместо изменения, вы создаете diff между оригиналом и измененной копией и сохранить его на сервере. Если теперь пользователь хочет загрузить и скомпилировать приложение из источника, он может сначала загрузить последнюю и самую большую версию исходного источника, а затем применить свой патч (так что он будет компилироваться) и всегда имеет последнюю версию, без необходимости изменять патч. Проблема возникает только в том случае, если исходный источник был изменен точно в одном из мест, которые изменяет ваш патч. В этом случае система откажется применять патч, и необходимо сделать новый патч.
патч-это файл, содержащий всю необходимую информацию, чтобы превратить исходное дерево сопровождающего в свое собственное. Он обычно создается такими инструментами, как diff
или svn diff
или git format-patch
.
традиционно проекты с открытым исходным кодом принимают заявки от обычных schlubs в виде патчей, поэтому им не нужно предоставлять другим доступ к своим репозиториям.
патч, обычно в виде .patch file-это общий формат плоского файла для передачи различий между двумя наборами файлов кода. Поэтому, если вы работаете над проектом с открытым исходным кодом и вносите изменения в код файлов и хотите отправить это владельцу проекта для регистрации (обычно потому, что у вас нет прав на проверку), вы сделаете это через патч.
WinMerge имеет эту встроенную функциональность, как и многие другие инструменты, такие как TortoiseSVN.
файл патч представляет собой разницу между существующим источником и источником изменения. Это основное средство добавления функций или исправления ошибок во многих проектах.
создать патч с помощью команды diff (например).
затем вы можете отправить этот патч в список рассылки разработки, и если он получил хорошо, то коммиттер применит патч (таким образом, автоматически применяя ваши изменения) и зафиксирует код.
патчи использование команды patch.Как правило, это подразумевает отправку унифицированного файла diff с совокупным набором изменений для функции. Ты можешь!--1-->подробнее о патчах в Википедии. Несколько систем контроля версий (svn,git и др.) создаст файл исправления для вас на основе набора изменений.
1. n. A temporary addition to a piece of code, usually as a quick-and-dirty
исправление существующей ошибки или несоответствия. Патч может или не может работать, а может и нет в конце концов, будут включены навсегда в программу. Отличается от дифф или mod тем, что патч генерируется более примитивными средствами, чем остальные программы; классические примеры-это инструкции, измененные с помощью фронта переключатели панели и изменения, внесенные непосредственно в двоичный исполняемый файл программы первоначально написано в HLL. Сравните однострочное исправление.
см. все определение в файле жаргона здесь
патч также используется в процессе обновления системных двоичных файлов. Microsoft постоянно отправляет исправления, но они не являются исходным кодом. Они.msp-файлы, устанавливающие улучшенные двоичные файлы. Как и во всех терминах информатики, патч перегружен.
Я всегда считал, что этот термин означает исправление ошибок, как повязка на колене, которую мама надевала на ваши дырявые джинсы.