Patch: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med 'Ge mej en översatt manunalsida för patch i media wiki format. OBS! Alla parametrar skall med och exempel på hur man använder patch om det finns skillnade mellan mac os och Linux, så skall detta belysas.')
 
 
(En mellanliggande sidversion av samma användare visas inte)
Rad 1: Rad 1:
Ge mej en översatt manunalsida för patch i media wiki format. OBS! Alla parametrar skall med och exempel hur man använder patch om det finns skillnade mellan mac os och Linux, så skall detta belysas.
== patch - Applicera ändringar från en patchfil ==
Kommandot `patch` används för att applicera ändringar från en patchfil till originalfiler.
 
=== Syntax ===
patch [ALTERNATIV] [ORIGINALFIL [PATCHFIL]]
 
=== Beskrivning ===
Kommandot `patch` läser en patchfil som innehåller skillnaderna mellan två versioner av en fil och applicerar dessa ändringar på originalfilen för att uppdatera den. Patchfiler skapas vanligtvis med `diff`-kommandot och används för att överföra ändringar mellan utvecklare.
 
=== Alternativ ===
Kommandot `patch` stöder flera alternativ som kan användas för att justera dess beteende:
 
* -b, --backup - Skapa säkerhetskopior av filer som kommer att ändras.
* --backup-if-mismatch - Skapa säkerhetskopior endast om patchen inte exakt matchar.
* --binary - Behandla filer som binära.
* -c, --context - Behandla patchfilen som en kontextdiff.
* -d, --directory=KATALOG - Ändra till katalog KATALOG innan patchning.
* -D, --ifdef=NAME - Generera #ifdef NAME / #endif block för varje förändring.
* -e, --ed - Behandla patchfilen som en ed-skript.
* -E, --remove-empty-files - Ta bort tomma filer efter patchning.
* -f, --force - Tvinga applicering av patchen oavsett försök att matcha.
* -F, --fuzz=NUM - Tillåt NUM linjers osäkerhet vid matchning.
* -i, --input=FIL - Läs patchen från filen FIL.
* -l, --ignore-whitespace - Ignorera vita tecken vid matchning.
* --merge - Använd tredjeparts merge-strategi.
* -N, --forward - Applicera endast patchen om originalet inte redan är patchat.
* -o, --output=FIL - Skriv den patchade filen till FIL.
* -p, --strip=NUM - Ta bort NUM ledande katalogkomponenter från filnamnen i patchen.
* -r, --reject-file=FIL - Skriv bortkastade patchar till FIL.
* -R, --reverse - Applicera patchen i omvänd ordning.
* --remove-empty-files - Ta bort tomma filer efter patchning.
* -s, --quiet - Tyst körning, visa inte meddelanden om applicerade patchar.
* -t, --batch - Kör i batch-läge utan att fråga om interaktion.
* -u, --unified - Behandla patchfilen som en unified diff.
* -v, --version - Visa versionsinformation och avsluta.
* -V, --version-control=METOD - Välj metod för säkerhetskopiering.
* -x, --debug - Visa felsökningsinformation.
* -Y, --only-verify - Verifiera patchen utan att applicera den.
* -z, --suffix=SUFFIX - Använd SUFFIX för säkerhetskopior.
* --help - Visa hjälpmeddelande och avsluta.
 
=== Exempel ===
Här är några praktiska exempel som visar hur du kan använda `patch`-kommandot:
 
* För att applicera en patch på en fil:
<code>
patch < patchfil.diff
</code>
 
* För att applicera en patch med en specifik originalfil:
<code>
patch originalfil < patchfil.diff
</code>
 
* För att applicera en patch i omvänd ordning:
<code>
patch -R < patchfil.diff
</code>
 
* För att ignorera vita tecken vid matchning:
<code>
patch -l < patchfil.diff
</code>
 
* För att ta bort ledande katalogkomponenter från filnamnen i patchen:
<code>
patch -p1 < patchfil.diff
</code>
 
=== Skillnader mellan macOS och Linux ===
Det finns några skillnader att tänka när man använder `patch` på macOS jämfört med Linux:
 
* Tillgänglighet: `patch`-kommandot är tillgängligt på både macOS och Linux. På båda plattformarna är `patch` en del av standardverktygen.
* Alternativ: De flesta alternativ som finns på `patch` är tillgängliga på både macOS och Linux, men det rekommenderas att konsultera `man`-sidan på respektive plattform för att bekräfta tillgängliga alternativ och eventuella skillnader.
 
Exempel på att använda `patch` på macOS:
* För att applicera en patch på en fil:
<code>
patch < patchfil.diff
</code>
 
Det är alltid bra att konsultera `man`-sidan för `patch` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.
 
=== Felsökning ===
Om du får ett felmeddelande när du använder `patch`, kontrollera följande:
 
* Att du använder rätt syntax och alternativ för ditt specifika kommando.
* Att patchfilen och originalfilen du försöker använda existerar och är tillgängliga.
* Att du har nödvändiga behörigheter för att ändra filerna.
 
=== Se även ===
* [[diff]] - Jämför filskillnader rad för rad.
* [[cmp]] - Jämför två filer byte för byte.
* [[comm]] - Jämför två sorterade filer rad för rad.
 
=== Källor ===
* [https://man7.org/linux/man-pages/man1/patch.1.html patch manual (Linux)]
 
 
[[Kategori:Linuxkommandon]]

Nuvarande version från 29 maj 2024 kl. 07.22

patch - Applicera ändringar från en patchfil

Kommandot `patch` används för att applicera ändringar från en patchfil till originalfiler.

Syntax

patch [ALTERNATIV] [ORIGINALFIL [PATCHFIL]]

Beskrivning

Kommandot `patch` läser en patchfil som innehåller skillnaderna mellan två versioner av en fil och applicerar dessa ändringar på originalfilen för att uppdatera den. Patchfiler skapas vanligtvis med `diff`-kommandot och används för att överföra ändringar mellan utvecklare.

Alternativ

Kommandot `patch` stöder flera alternativ som kan användas för att justera dess beteende:

  • -b, --backup - Skapa säkerhetskopior av filer som kommer att ändras.
  • --backup-if-mismatch - Skapa säkerhetskopior endast om patchen inte exakt matchar.
  • --binary - Behandla filer som binära.
  • -c, --context - Behandla patchfilen som en kontextdiff.
  • -d, --directory=KATALOG - Ändra till katalog KATALOG innan patchning.
  • -D, --ifdef=NAME - Generera #ifdef NAME / #endif block för varje förändring.
  • -e, --ed - Behandla patchfilen som en ed-skript.
  • -E, --remove-empty-files - Ta bort tomma filer efter patchning.
  • -f, --force - Tvinga applicering av patchen oavsett försök att matcha.
  • -F, --fuzz=NUM - Tillåt NUM linjers osäkerhet vid matchning.
  • -i, --input=FIL - Läs patchen från filen FIL.
  • -l, --ignore-whitespace - Ignorera vita tecken vid matchning.
  • --merge - Använd tredjeparts merge-strategi.
  • -N, --forward - Applicera endast patchen om originalet inte redan är patchat.
  • -o, --output=FIL - Skriv den patchade filen till FIL.
  • -p, --strip=NUM - Ta bort NUM ledande katalogkomponenter från filnamnen i patchen.
  • -r, --reject-file=FIL - Skriv bortkastade patchar till FIL.
  • -R, --reverse - Applicera patchen i omvänd ordning.
  • --remove-empty-files - Ta bort tomma filer efter patchning.
  • -s, --quiet - Tyst körning, visa inte meddelanden om applicerade patchar.
  • -t, --batch - Kör i batch-läge utan att fråga om interaktion.
  • -u, --unified - Behandla patchfilen som en unified diff.
  • -v, --version - Visa versionsinformation och avsluta.
  • -V, --version-control=METOD - Välj metod för säkerhetskopiering.
  • -x, --debug - Visa felsökningsinformation.
  • -Y, --only-verify - Verifiera patchen utan att applicera den.
  • -z, --suffix=SUFFIX - Använd SUFFIX för säkerhetskopior.
  • --help - Visa hjälpmeddelande och avsluta.

Exempel

Här är några praktiska exempel som visar hur du kan använda `patch`-kommandot:

  • För att applicera en patch på en fil:

patch < patchfil.diff

  • För att applicera en patch med en specifik originalfil:

patch originalfil < patchfil.diff

  • För att applicera en patch i omvänd ordning:

patch -R < patchfil.diff

  • För att ignorera vita tecken vid matchning:

patch -l < patchfil.diff

  • För att ta bort ledande katalogkomponenter från filnamnen i patchen:

patch -p1 < patchfil.diff

Skillnader mellan macOS och Linux

Det finns några skillnader att tänka på när man använder `patch` på macOS jämfört med Linux:

  • Tillgänglighet: `patch`-kommandot är tillgängligt på både macOS och Linux. På båda plattformarna är `patch` en del av standardverktygen.
  • Alternativ: De flesta alternativ som finns på `patch` är tillgängliga på både macOS och Linux, men det rekommenderas att konsultera `man`-sidan på respektive plattform för att bekräfta tillgängliga alternativ och eventuella skillnader.

Exempel på att använda `patch` på macOS:

  • För att applicera en patch på en fil:

patch < patchfil.diff

Det är alltid bra att konsultera `man`-sidan för `patch` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `patch`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att patchfilen och originalfilen du försöker använda existerar och är tillgängliga.
  • Att du har nödvändiga behörigheter för att ändra filerna.

Se även

  • diff - Jämför filskillnader rad för rad.
  • cmp - Jämför två filer byte för byte.
  • comm - Jämför två sorterade filer rad för rad.

Källor