Внедряване на кръпки

Тайната на вашия успех

Основна тема, описана: Git

Оригинал: http://drupal.org/node/1134754
Превод: http://azbukaweb.ru/practicing-patches

Сега можете да пишете прости Drupal модули с тестове. Честито! В реалния живот обаче рядко е необходимо да пишете свои собствени Drupal модули в първите си проекти. В повечето случаи има готов модул, който прави това, от което се нуждаете, или нещо близко. Ако разработвате нова функционалност за съществуващ модул или решавате проблем, ще искате да се уверите, че вашата корекция е достъпна за общността на Drupal.

Git достъп

Общността на Drupal използва Git за управление на всички версии на всеки файл, съставляващ системата на Drupal. Ако не сте запознати с Git, можете да прочетете за него в документацията, достъпна на drupal.org, като започнете с Въведение в Git. Ще ви е необходим достъп до Git от вашия компютър. Вижте за това тук: Инсталиране на Git.

За да използвате Git на drupal.org, трябва да имате акаунт на сайта и да приемете „Споразумението за достъп до Git“, намиращо се в раздела „Редактиране“ на вашия акаунт под раздела „Git достъп“. Вижте Получаване на достъп до Git за подробни инструкции, след това вижте Идентифициране на Git, за да завършите инсталацията.

Клониране на хранилище

Сега нека първо направим кръпка. Първо посетете пясъчника с текущо съдържание. Следвайки връзката отгоре, отидете на „Контрол на версиите“, след това стартирайте терминала си и въведете командите за клониране на хранилището. (Този урок ще предостави инструкции за достъп до командния ред. Ако използвате GUI (графичен потребителски интерфейс), ще трябва да трансформирате тези команди.) Ако клонирате кода във вашия http://example.com/sites/all/модули папка Можете да проверите функционалността и да стартирате теста.

Създайте кръпка

С Git често можете да намерите няколко малко по-различни кръпки за една и съща част от кода. Това е добре за кръпки. Ако вече имате собствен процес и просто искате да практикувате, не се колебайте да работите по него. Тук се разклоняваме от нашия основен модул, за да можем както да създаваме, така и да преглеждаме кръпки, без да засягаме клонирания оригинал. Ако имате проблеми с някоя от тези инструкции, вижте връзките по-долу.

checkout казва на системата, че сменяте клонове. -b означава, че с тази команда създавате нов клон с името, което го следва. Можете да назовете новия клон, както ви харесва, но най-добре е да се придържате към препоръката да използвате номера на посещението, за да сте сигурни, че няма да го объркате с други посещения. Включихме думата „кръпка“ в името на клона, за да я разграничим от друга, която ще правите, за да проверите.

Когато сте доволни от промените, можете да ги качите. Върнете се в терминала (или Git GUI) и въведете командата:

Командата за състояние трябва да показва, че все още сте в клона с 'кръпка' в името. Той също така трябва да ви информира, че .module файлът е модифициран, но не е запазен. Следната команда:

Тази команда служи като последна проверка на вашите промени. Уверете се, че всичко, което искате, е включено тук. Ако случайно включите празно пространство, Git ще го подчертае вместо вас. Уверете се, че сте премахнали това пространство. Опитайте се да го разберете точно преди да преминете към следващата стъпка. Трябва да включите всичките си промени в едно дъмп.

Когато приключите, качете промените си. Флагът -A означава, че при качването участва информация за всички нови, променени и изтрити файлове:

Ако стартирате git status сега, ще видите списък с вашите файлове в „Промени, които трябва да бъдат ангажирани“. Сега изпращане:

Изпратете съобщение в съответствие с директивите на drupal.org '. За пълни обяснения вижте Съобщения за ангажиране - предоставяне на история и кредит. След това получаваме най-новия код, ако има някакви промени:

Git ще ви изпрати съобщение, че е доставил и разопаковал обекти от „Текущо съдържание“ обратно на drupal.org. Сега прилагаме най-новите промени, които току-що са ви доставени:

Ще получите съобщение, че Git се е преместил в HEAD и е приложил вашите промени. Вече сте готови да създадете файл за корекция.

Създаване на файл за корекция

Има два начина за разполагане на кръпка:

Уверете се, че не използвате символа # в името на файла, в противен случай тестващият робот няма да пропусне корекцията. (Всъщност тук може да няма автоматична проверка, но ще е необходимо, ако поправяте системното ядро.)

Няколко предавки. Ако правите повече от един трансфер, можете да използвате git diff:

Веднага след като повторите тази команда, Git ще направи кръпка без съобщения на екрана. Можете да намерите файла в корена на текущата ви локална директория на хранилището на Git. (Този процес работи само за една директория и ако вашият пластир е все още в поддиректорията си, той все още ще бъде запазен в основния.) Отворете го и тествайте работата си. Ако сте използвали git format-patch, пластирът ще започне на четири реда, който включва хеш за качване, име и имейл на лицето, което е направило пластира, датата и съобщението за качване. Ако сте използвали git diff, кръпка може да започне по различни начини. Ако сте направили промени за връзката „Още“, вашият пластир ще включва раздели, всеки от които започва с номер на ред и името на функцията, за която са направени промените.

Сега да се върнем към опашката за посещения за „Текущо съдържание“, да качите вашия пластир и да маркирате удара като „Нуждае се от преглед“.

Ако сега стартирате git status за клон, ще видите там файл за корекция. За да избегнете случайно включване на този пластир в бъдещи изпращания, премахнете го с помощта на командата Unix rm:

Преглед на кръпка

Сега се върнете към директорията на терминала и current_content. Проверете състоянието:

Ако не сте в главния клон, отидете там:

След това се уверете, че все още използвате най-новата версия на кода си:

Създайте клон, за да прегледате корекцията:

Има няколко начина за изтегляне и прилагане на кръпка. Ако искате да използвате къдрене, вижте ръководството за сътрудници на Advanced patch под „Преглед на кръпки“. ще използваме командата Unix wget:

Копирайте и поставете URL адреса на корекцията, за да избегнете грешки в командата за изтегляне. Когато изтеглите кръпка, ще получите куп данни. Ако използвате флага -v, ще получите съобщение дали тази корекция зависи от другите.

Ако сега стартирате git status, ще видите, че файлът за корекция е включен. За да избегнете случайно включване на този пластир в бъдещи изпращания, премахнете го с помощта на командата Unix rm:

Преглед на промените в кода:

Сега нека проверим пластира. Тъй като пясъчниците не включват функции за автоматично тестване, нека стартираме тестовете SimpleTest на нашия сайт. Забележете какво се опитвате да направите, какво работи, какво не работи и напишете за това във вашия брой. За повече информация как да преглеждате кръпки, вижте Преглед на кръпки.

Заключение

Ура! Завършихте целия курс на обучение. Ако сте тръгнали с нас от самото начало, вече сте запознати с куки, блокове, менюта, база данни, формуляри, рендериращи масиви, функции на страници, някои функции на Drupal, SimpleTest и кръпки с Git.

Какво следва? Вижте какво ви интересува в Работа с Drupal API и Примери за разработчици.