Pseudo system kontroli wersji.

dodał: DDarko (2012-02-07 13:45),   tagi: bash, linux

Czasami nie ma sensu, potrzeby lub chęci angażować do edycji kilku plików system kontroli wersji. Ale jak później dojść co zmieniliśmy ...

Załóżmy, że chcecie edytować jakiś projekt programistyczny, ale nie wykorzystuje on żadnego systemu kontroli wersji. Dodatkowo nie chcecie z różnych powodów tworzyć własnego repozytorium. Ściągamy pliki np. z FTP i je rozpakowujemy. Po czym przez kilka dni pracujemy nad tym projektem i zapominamy, które pliki zostały zmodyfikowane. Gdy chcemy oddać projekt zleceniodawca mówi: "... proszę przysłać wyłącznie zmodyfikowane pliki". W tym momencie robimy "... hymm, co to ja zmieniałem" :]

Jest na to proste rozwiązanie.

Wystarczy na początku pracy utworzyć pusty plik. Ja go nazwałem "breakpoint", ale nazwa jest dowolna.
$ touch breakpoint


Następnie rozpoczynamy naszą pracę - edytujemy pliki ...

Gdy potrzebujemy uzyskać listę zmienionych plików wystarczy wykonać polecenie:
$ find . -newer breakpoint


Oczywiście możemy dodatkowo przefiltrować listę plików, np:
$ find . -newer breakpoint -name '*.py'


Jeśli na początku zrobiliśmy kopię projektu i chcemy szczegółowo zobaczyć, co w danym pliku zostało zmienione z pomocą przychodzi polecenie "diff":
$ diff stary_plik nowy_plik


Gdy chcemy wyznaczyć kolejny etap pracy, np. wysłaliśmy kod do zleceniodawcy, ale jeszcze pojawiły się jakieś problemy. Wystarczy wykonać:
$ touch breakpoint
tak jak na początku pracy.