ПредишенСледващото

В света на Linux се използва широко програмирането по двойки разл и кръпка. разл създава файл, който записва разликите между два файла или папки 2 (т.нар пластир), и кръпка ви позволява да "налагат" кръпка, т.е. с кръпка и един от двата файла (директории), вземи друг. Основното приложение на тези програми - създаването, разпространението и прилагането на кръпки за програмите за код. Така например, открих грешка в наследяване Програма и след разглеждане на изходния код осъзнах, че да се коригира тази грешка, че е необходимо да се добавят 2 реда, а друга да се променят няколко знака. Искам да информира разработчик за това, но как да го кажа, за да желаните промени? Можете да го направите в обикновения език, но това е много по-добре (и по-удобно и за двама ни) направи пластир и го изпраща на възложителя.

Или друг пример. Линукс ядрото, опаковани в .tar.bz2, тежи повече от 30 MB, независимо от неговата версия. Но разликите файловите между версиите 2.6.6 и 2.6.7, опаковани в .bz2, тежи само 3 Mb, така че да получите изходния код на ядрото 2.6.7 на изходния код на ядрото 2.6.6 само 3 MB са достатъчни, за да изтеглите, не изпомпване всички 32 MB отново.

Въпреки това, често просто трябва да се види разликата 2 е почти идентични файлове, и това също е удобен за използване раз, извеждане на резултата от работата му не е в файла и надясно по екрана.

А сега погледнете работата на тези средства на практика. Вземете който и да е текстов файл и да направи копие и след това редактирайте това копие - 1-2 реда, премахвате добавя нищо, само на няколко линии се променят. След това стартирайте разл oldfile newfile. Вземи разликите файла в общ формат. Тя показва само променената линия и промените са отбелязани символи (което означава, че съответния ред принадлежи към наляво или надясно, файлът от командния ред). Този формат е подходящ само за изучаването на човешките малки разлики между два файла. Пластирите се използват за създаване на други изходни формати задавани допълнителни опции, на изхода на разл кръпка файл се изпраща към стандартните черупки средства.

Добави линия на повикване разл -u. Сега на изхода на програмата ще бъде кръпка в единен формат, който се използва в повечето случаи (има контекстно формат, включително ключ -с, но той се използва много по-рядко). В тази кръпка са включени и няколко съседни непроменен линия (т.нар контекста), за да помогне закърпи програмата, за да намери място в партидата, в която е настъпила промяната. Добавен вторият файл линия маркирани предимства изтрити - аута. Ако низът е променен, изглежда, 2 пъти - старата версия и новата-минус с плюс. В допълнение, в началото на заглавието се добавя, което трябва да включва имената и датата на промяната на двата файла.

раз ви позволява да получите на разликите между две директории. Обикновено се използва, за да се добие цялостна кръпка до цялата източник дървото на програмата, ако е бил модифициран няколко файла. Той използва ключове -urN, както и имената на две директории (Стария и модифицирани) са посочени вместо 2 файлове. В този случай, правилно обработени ситуацията с създадените / изтрити файлове (файлове, които не са в една от директориите се счита за съществуваща и празен).

За да приложите кръпка, вие трябва да отидете до директорията, където стария файл / директория и стартирайте командата

кръпка <файл_патча

При използване на петна към директории обикновено го правят: кръпка е създаден, както е описано по-горе (докато Заглавия петна до отделни файлове пътя за него, за да започне с ново име на директория), и да го приложи в променлива каталог. След това отборът ще изглежда така:

закърпи -p1 <файл_патча

Тук -p1 означава, че от заглавието на пластира е необходимо да премахнете личната директория. Ще обясня всичко това с един пример. Имаме 2.6.0 ядрото източник дърво. Това е директория Linux-2.6.0, който съдържа директорията на водачите, арката и т.н. И ние имаме една кръпка до версия 2.6.1, която включва такива заглавия:

Виж, че при създаването на кръпка старата и новата директория се нарича а и б, съответно. Ние имаме една и съща директория е различен, и лепенка не може да направи нищо. Ето защо, ние отидете на Linux-2.6.0 директория и стартирайте командата изброени по-горе. Сега заглавията ще се тълкува като

и лепенка ще следват нормалното.

Обратно към съдържанието

Свързани статии

Подкрепете проекта - споделете линка, благодаря!