Два от основните инструменти при разработването на софтуер са Кръпка y Разлика. Не е мистерия как работят, но мисля, че това ще бъде интересна публикация.
И двете са много мощни и това е точно като докосване на повърхността, те имат повече помощни програми и други функции. По принцип с тези два инструмента можем да създадем контрол на версиите,
Разлика
Позоваваме се на сравнението, той сравнява „оригинален“ файл с „новия“ и ни информира за разликите, които съществуват между тях. Този инструмент също ни позволява да създаваме .patch файлове, които използваме за създаване на кръпки за нашите програми.
Кръпка
Това е командата, с която буквално „закърпваме“ оригиналния си файл, добавяйки и / или премахвайки редове в съответствие с инструкциите, съдържащи се в .patch файла
Също съществува вимдиф, което е визуален инструмент за прилагане на кръпки, без да е необходим .patch файл, тъй като сравнява "оригинал" и "нов" и в същия файл е възможно да редактирате ред по ред или целия документ. Това няма да обяснявам, но мисля, че заслужава да се спомене.
пример
Сега забавлението е. Пример!
Такъв е случаят, имаме страхотен скрипт, който пита за вашето име и възраст, ако сте над 18 години, той ви казва, че можете да гласувате, в противен случай ви казва, че не можете да гласувате.
оригинал.ш
#! / bin / bash echo "Въведете името си:" read name echo "Въведете вашата възраст:" read age if [[18 -lt $ age]] след това echo "Здравейте $ име, вие сте на възраст и можете да гласувате!" else echo "Hello $ name, вие сте $ old и не можете да гласувате ..." fi
Изображение на кода във Vim
Готово, ето изпълняващият се скрипт:
Изглежда всичко работи добре
Така че, като добри потребители, каквито сме, ние споделяме нашия скрипт с приятел :), но получаваме съобщение, че има недостатък, че когато е на 18, казва, че не може да гласува, когато трябва.
Логическа грешка
Сега започваме да коригираме малката грешка и правим няколко модификации ...
нов.ш
#! / bin / bash maxAge = 18 echo "Въведете името си:"; прочетете име echo "Напишете вашата възраст:"; прочетете възрастта, ако [[$ maxAge -le $ age]]; след това ехо "Здравейте $ име, вие сте на $ години и можете да гласувате!" else echo "Hello $ name, вие сте $ old и не можете да гласувате ..." fi изход 0
Нов код, написан на Vim
Да предположим, че сценарият е много тежък. Така че, за да избегнем повторното изпращане на целия скрипт, създаваме .patch
$ diff -u original.sh new.sh> patch.patch
И сега имаме своя пластир. Ето изглед в Vim:
Ето как изглеждат инструкциите за .patch. В бяло линиите, които не са модифицирани, в синьо премахнатите, в оранжево добавените.
И за да го приложим, ние просто използваме .patch файла в скрипта, който трябва да бъде закърпен. Тук се нарича оригиналенAmigo.sh, което е точно копие на скрипта оригинал.ш
Приятелски сценарий
$ patch originalFriend.sh <patch.patch
И това ни оставя нашето досие оригиналенAmigo.sh Така:
Приятелски скрипт след прилагане на кръпка
Както можете да видите, е много лесно да получите разликите и да приложите кръпките. Всичко е от мен.
Поздрави хора, ще четем следващия петък.