Jak zrobić łatkę patch przy pomocy diff ?

„Paczowanie” czyli jak zrobić łatkę przy pomocy diff.

1. Przypuśćmy ze mamy do zrobienia jakieś zmiany w pliku test.c ponieważ skrypt kończy z błędem syntax error. A wygląda on tak:

if [ ! -e test.c ]
then { echo "nie ma takiego pliku";}
else { echo "plik istnieje"}
fi

2. Chcemy go poprawić żeby wyglądał tak:

if [ ! -e test.c ]
then { echo "nie ma takiego pliku";}
else { echo "plik istnieje";}
fi

Więc tworzymy plik test2.c i wklejamy tam poprawną wersje.

3. Następnie tworzymy łatkę poprawiającą:

diff -uN test.c test2.c > test.c.patch

Wygląda ona następująco:

--- test.c 2010-05-10 12:06:17.507217702 +0200
+++ test2.c 2010-05-10 12:06:45.153591995 +0200
@@ -1,4 +1,4 @@
if [ ! -e test.c ]
then { echo "nie ma takiego pliku";}
-else { echo "plik istnieje";}
+else { echo "plik istnieje"}
fi

4. Na końcu nakładamy łatkę test.c.patch dla pliku test.c

patch test.c < test.c.patch

 

Share Button

Przemek

Twórca portalu techfreak, elektronik, pasjonat wszystkiego co fajnie, co można przerobić. W wolnym czasie grzebie przy nettemp. A sport jaki uprawia to mini drony klasy 250.