Skip to content

Jak aplikovat opravu na soubor pomocí Linuxu

21 de Červen de 2021
GettyImages 1152855785 9e39b4ae85fb41318e26061425c28904

Oprava je segment počítačového kódu, který vloží nebo upraví stávající kódovou sadu. Opravy se během programovacího procesu běžně používají k nahrazení změn ve zdrojovém kódu. Linux obsahuje opravu nástroj pro zefektivnění tohoto procesu. Proces opravy se obvykle používá ve formálních systémech řízení změn, kde platí profesionální osvědčené postupy pro kvalitu kódu a testování. Oprava se méně často používá v hobby projektech, kde se zdrojový kód mění podle uvážení programátora.

Proces opravy

V typickém případě použití máte původní verzi zdrojového kódu a jeho upravenou verzi. Originál byl formálně schválen a veškeré jeho změny musí probíhat podle přesně stanoveného procesu. K těmto změnám dochází v souboru opravy. Pomocí nástroje s názvem rozdíl, zmenšete rozdíly mezi dvěma verzemi souborů na jeden soubor se seznamem konkrétních změn, které druhá provede v první. Poté výsledný soubor rozdílu upraví původní kód pomocí náplast nářadí.

Uplatnění oprav: Příklad

Zvažte typický program „Hello World“. Zdrojový kód v jazyce C vypadá takto: #include
int main ()
{
printf („Hello world!“);
}

Chcete-li změnit tištěnou zprávu na Ahoj vesmír!, vyvinout alternativní verzi kódu následujícím způsobem: #include
int main ()
{
printf („Ahoj vesmír!“);
}

Vytvořte soubor opravy pomocí rozdíl obslužný program: diff -u helloworld.c helloworld2.c> file.patch

Pak uvidíte, že soubor opravy vypadá takto:

Soubor opravy obsahuje seznam všech porovnávaných souborů. Nabízí symboly, a +++, identifikující každý název souboru s jeho naposledy revidovaným datem. Poté shrnuje umístění změn mezi dvojicí @@ symboly. Nakonec uvede zdrojový kód a označí různé řádky pomocí známých symbolů plus-a-minus. Obecně znaménko mínus označuje, že řádek je odstraněn v opraveném souboru a znaménko plus představuje náhradu, pokud bude řádek nahrazen. Chcete-li použít soubor opravy na původní soubor, proveďte: patch

V tomto bodě se první soubor změní tak, aby odpovídal druhému. Chcete-li opravu zrušit, použijte -R možnost: patch -R

Úvahy

Tento přístup k opravě zdrojového kódu je méně častý než dříve. Moderní systémy pro správu zdrojů, jako je Git a Subversion, automaticky spravují verze v průběhu času, včetně různých vývojových a testovacích větví, takže ruční kontrola rozdílů a opravy souborů jsou nyní spravovány nástrojem pro správu verzí. Pokud musíte dodržovat formální strukturu kódování nebo vyhovět standardům kódování týmu, místo toho použijete nástroj, jako je Git. Jeden efektivní případ použití pro rozdíl a náplast systém na místním počítači souvisí se změnami v celém adresáři souborů. Pokud jste například vyvinuli web, ale potřebujete provést změnu pouze v jednom řádku – například v řádku s autorskými právy -, aktualizuje tento systém všechny tyto stránky současně. Podívejte se na manuálové stránky náplast pro další kontext.