[PHP] diff i patch

0

Potrzebne mi są funkcje typu diff i patch. Niestety nie wiem na jakim systemie będzie stał serwer z php, więc nie mogę wykorzystać system() i odpowiednich programów. Nie mam też wpływu na zainstalowane rozszerzenia, więc xdiff też odpada.

Przeglądałem troszkę google, ale nie widziałem nic co byłoby odpowiednie dla mnie (zwykle generują ogromne tablice różnic, a mi właśnie chodzi o oszczędność miejsca).

Byłbym więc wdzięczny za namiary na jakieś funkcje działające jak diff i patch.

0

khem, jesli to forum o PHP, to moze napisz co robia te funkcje, sa tacy co Apache'a znaja tylko z krasnala :).

Moze to? Nie testowalem wynikow.

0

khem, jesli to forum o PHP, to moze napisz co robia te funkcje, sa tacy co Apache'a znaja tylko z krasnala :).

No tak. Programy diff/patch to zespół programów tworzących i aplikujących kopie przyrostowe.
Tzn. program diff na podstawie 2 plików generuje trzeci plik w którym zawarte są informacje, które linijki z pierwszego pliku zostały usunięte (tzn. nie ma ich w drugim) a które zostały dodane.
Program patch potrafi na podstawie tego zamienić pierwszy plik by wyglądał jak drugi, albo drugi jak pierwszy.
Dzięki tym programom zamiast trzymać całe kopie programów wystarczy przechowywać zmiany. To zaoszczędza miejsca. Takie coś wykorzystuje np. CVS (znane większosci z was), RCS (ja prywatnie sobie wykorzystuję) jak również w większości projektów rozproszonych przesyłając łatki do programów, przesyła się je w postaci plików wygenerowanych przez diffa.

Moze to? Nie testowalem wynikow.

To patrzyłem, a dokładniej to:
http://px.sklar.com/code.html?id=879
Niestety z opisu wynika, jakby dosyć duże generowało :(

To wydaje się być całkiem fajne: http://tavi.sourceforge.net/TaviPatches/InlineDiff
Niestety wykorzystuje PEAR, a tego raczej na serwerze też nie będę miał :(

0

Niestety wykorzystuje PEAR, a tego raczej na serwerze też nie będę miał :(

PEAR, jak kazda inna biblioteke, mozna normalnie dolaczyc do aplikacji.

0

Niestety wykorzystuje PEAR, a tego raczej na serwerze też nie będę miał :(

PEAR, jak kazda inna biblioteke, mozna normalnie dolaczyc do aplikacji.

To to nie musi być jako moduł być obsługiwane?

0

To to nie musi być jako moduł być obsługiwane?

Mozesz zainstalowac lokalnie, tutaj masz cytat z php.faq.pl:

$incpath = ini_get("include_path");
$incpath .= ":/sciezka/do/katalogu/z/pear";
$incpath = str_replace("::", ":", $incpath);
ini_set("include_path", $incpath);

Seagull PHP Framework jest totalnie oparte o PEAR i ma fajne przyklady korzystania "w locie" z jego dobrodziejstw. Jesli masz czas sie pobawic, to polecam sie poprzygladac.

Zycze powodzenia [browar] :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1