Provided by: manpages-pl_20060617-3_all bug

NAZWA

       patch - dolcz plik ronicowy do oryginalu

SK/LADNIA

       patch [opcje] [plikoryginalny [plikz/lat]]

       lecz zazwyczaj po prostu

       patch -pnum <plikz/lat

OPIS

       Patch  pobiera  plik  z  lat, ktory moe zawiera jedn z czterech postaci
       ronic, dawanych przez program diff(1).  Jeli plikz/lat jest pominity lub
       jest   mylnikiem,  to  lata  bdzie  czytana  ze  standardowego  wejcia.
       Nastpnie dolcza te ronice do pliku oryginalnego, dajc w  efekcie  wersj
       zalatan.   Domylnie,   wersja  zalatana  jest  podstawiana  na  miejsce
       oryginalu.  Moe te tworzy kopie zapasowe  zmienianego  oryginalu,  zob.
       opcja  -b  lub  --backup.   Kopia  oryginalu  jest  zapisywana  obok, z
       rozszerzeniem ".orig" (w systemach nie obslugujcych dlugich nazw plikow
       "~").   Posta  nazwy  kopii  zapasowej  mona  kontrolowa przez opcje -b
       (--suffix), -B (--prefix), lub -V (--version-control).

       Nazwy plikow do zalatania s zwykle brane z pliku laty, ale jeli  latany
       bdzie  tylko  jeden  plik,  to  mona  poda  go  w  wierszu  polece jako
       plikoryginalny.

       Podczas  uruchamiania,  patch  probuje  sam  okreli   rodzaj   listingu
       ronicowego. Mona to zrobi te rcznie, opcjami -c (--context), -e (--ed),
       -n  (--normal)  lub  -u  (--unified).   Ronice  typu  context  (starego
       rodzaju,  nowego  rodzaju  i  unifikowane  (unified))  s  nanoszone  na
       oryginal wprost przez program patch, podczas gdy ronice ed s po  prostu
       przesylane poprzez potok do edytora ed(1).

       Patch  probuje  automatycznie  pomin  wszelkie mieci znajdujce si przed
       fragmentem ronicowym, dokona zalatania i znowu pomin  mieci,  znajdujce
       si  za  ronic. Tak wic przekazanie patchowi, ronicy znajdujcej si np. w
       wiadomoci pocztowej, powinno dziala.  Jeli calo ronic jest wcita o  ten
       sam  rozmiar,  lub  ronice  kontekstowe zawieraj linie zakoczone parami
       CRLF, lub s  raz  bd  wielokrotnie  zakapsulkowane  przez  poprzedzenie
       cigiem "- " linii zaczynajcych si od "-", jak podano w RFC 934, to jest
       to poprawnie uwzgldniane w lataniu.

       W przypadku ronic typu context i w mniejszym stopniu ronic typu normal,
       patch   potrafi   wykry,  kiedy  numery  linii  wymienione  w  lacie  s
       nieprawidlowe i sprobuje znale wlaciwe miejsce. Jako  pierwszy  strzal,
       uywany  jest  numer  linii uyty w badanym kawalku plus lub minus offset
       uyty do zaaplikowania poprzedniego kawalka. Jeli nie  jest  to  wlaciwe
       miejsce,  nastpi  skanowanie  w  przod  i wstecz w poszukiwaniu zestawu
       linii odpowiadajcego podanemu kontekstowi.  Na  pocztek,  szukane  jest
       miejsce,  do  ktorego pasuj wszystkie linie fragmentu.  Jeli nie uda si
       go znale i mamy do czynienia z ronicami  kontekstowymi  a  wspolczynnik
       `maximum fuzz factor' jest ustawiony na 1 lub wicej, to skanowanie jest
       powtarzane, lecz teraz ignoruje pierwsz i ostatni lini kontekstu.  Jeli
       i  to zawiedzie, a wyej wymieniony wspolczynnik jest ustawiony na 2 lub
       wicej, to ignorowane bd dwie pierwsze i dwie ostatnie linie.  (Domylnym
       wspolczynnikiem jest 2.)  Jeli patch nie moe znale wlaciwego miejsca do
       zaaplikowania fragmentu ronicy, to wstawi go do  pliku  odrzuce,  ktory
       normalnie  ma  nazw pliku wyjciowego, z dopisan kocowk .rej (lub # jeli
       .rej utworzyloby zbyt dlug nazw pliku. Jeli dodanie nawet  pojedynczego
       znaku  #  powoduje,  e  nazwa  pliku  staje  si za dluga, to # zastpuje
       ostatni  znak  nazwy).    (Zauwa,   e   odrzucony   fragment   zostanie
       wyprodukowany  jako  ronica  typu  context,  niezalenie od postaci laty
       wejciowej. Jeli byla ona typu normal, wiele kontekstow bdzie po  prostu
       pustych.)   Numery  linii  w  pliku  odrzuce  mog  by  inne ni w lacie:
       odzwierciedlaj one  przypuszczaln  pozycj  w  nowym  pliku,  do  ktorej
       prawdopodobnie nale odrzucone fragmenty.

       Gdy  obrobka  fragmentu  jest  zakoczona, zostaniesz poinformowany, czy
       zakoczyla si sukcesem, czy te si nie powiodla i w ktorej linii  (nowego
       pliku) wg patcha ten fragment powinien si znale.  Jeli jest ona inna od
       numeru linii, podanego w pliku ronicowym,  zostaniesz  poinformowany  o
       offsecie.    Pojedynczy   duy   offset  moe  by  wskazowk,  e  fragment
       zainstalowano w zlym miejscu. Jeli  do  porownania  uyto  wspolczynnika
       `fuzz  factor',  to  te  bdziesz  o  tym  poinformowany,  gdy moe to by
       podejrzane.  Jeli uyle opcji --verbose, zostaniesz  te  powiadomiony  o
       fragmentach dopasowanych dokladnie.

       Jeli  w  linii  komend  nie  podano  adnego  pliku  oryginalnego, patch
       sprobuje go odgadn ze mieci, zawartych w pliku z ronic, stosujc ponisze
       zasady.

       Najpierw buduje uporzdkowan list kandydatur wedlug takich regul:

        +o Jeli  naglowek  jest naglowkiem ronicy typu context, nazwa starego i
          nowego pliku odczytywana jest z niego. Nazwa pliku  jest  ignorowana
          jeli  ma  za  malo  ukonikow dla opcji -pnum lub --strip=num.  Nazwa
          /dev/null jest rownie ignorowana.

        +o Jeli w pocztkowych mieciach jest linia Index:  i  albo  brakuje  obu
          nazw,  starego i nowego pliku, albo patch dziala zgodnie z POSIX, to
          pobierana jest nazwa z tej linii.

        +o W  poniszych  regulach  zaklada  si,  e  rozwaane  nazwy  plikow   s
          uporzdkowane  (stary,  nowy,  indeks),  niezalenie  od  kolejnoci, w
          jakiej wystpuj w naglowku.

       Nastpnie patch wybiera nazw pliki z listy potencjalnych nazw:

        +o Jeli  ktory  z  wymienionych  plikow  istnieje,  to  wybierana  jest
          pierwsza nazwa zgodna z POSIX, w przeciwnym razie najlepsza.

        +o Jeeli patch nie ignoruje RCS, ClearCase i SCCS (zob. opcj -g num lub
          --get=num), a tak  wskazany  plik  istnieje,  ale  znaleziono  glown
          (master)  pozycj  RCS, ClearCase lub SCCS, wybrany zostanie pierwszy
          plik wymieniony w tej pozycji.

        +o Jeli nie istnieje  plik  o  danej  nazwie,  nie  znaleziono  glownej
          pozycji  RCS,  ClearCase  lub  SCCS,  podano  jakie nazwy, patch nie
          stosuje si do POSIX, za lata wymaga utworzenia pliku,  to  wybierana
          jest   najlepsza  nazwa  wymagajca  stworzenia  najmniejszej  liczby
          katalogow.

        +o Jeli powyszy algorytm heurystyczny nie  da  adnej  nazwy  pliku,  to
          zostaniesz  o  ni  zapytany.   Poza tym, jeli w prowadzcych mieciach
          znajduje linia "Prereq: ", patch sprobuje pobra pierwsze slowo z tej
          linii  (zwykle  numer  wersji)  i  sprawdzi czy istnieje ono w pliku
          wejciowym.  Jeli nie, patch zapyta o potwierdzenie przed kontynuacj.

       Efektem tego wszystkiego jest to,  e  powiniene  by  w  stanie  poda  w
       interfejsie newsow nastpujce:

            | patch -d /usr/src/local/blurfl

       i tym samym zalata katalog blurfl bezporednio z artykulu, ktory zawiera
       lat.

       Jeli plik z lat sklada  si  z  wicej  ni  jednej  laty,  program  patch
       sprobuje zaaplikowa je tak, jakby przyszly w osobnych plikach z latami.
       Znaczy to midzy innymi tyle, e nazwa latanego pliku jest  okrelana  dla
       kadego  listingu  ronic  z osobna i e mieci, znajdujce si przed kadym z
       listingow bd analizowane jak  opisano  wyej.   Do  kolejnych  lat  mona
       przekazywa  opcje (i inn oryginaln nazw pliku), oddzielajc odpowiadajce
       listy argumentow znakiem ' +'.  (Lista  argumentow  kolejnej  laty  nie
       musi jednak podawa nowej nazwy pliku z lat.)

OPCJE

       -b, --backup
          Tworzy  pliki  kopii  zapasowych.   To  znaczy,  przy lataniu pliku,
          zamiast usuwania oryginalu tworzy jego kopi lub zmienia  nazw.  Jako
          kopia  zapasowa  pliku,  ktory nie istnial tworzony jest pusty plik,
          zastpczo reprezentujcy nieistniejcy oryginal.  Sposob ustalania nazw
          plikow    kopii    zapasowych    opisano   przy   opcjach   -V   lub
          --version-control.

       --backup-if-mismatch
          Tworzy kopi zapasow jeli lata nie pasuje dokladnie do  pliku  a  nie
          zadano  w  inny  sposob tworzenia kopii. Jest to zachowanie domylne,
          chyba e patch dziala zgodnie z POSIX.

       --no-backup-if-mismatch
          Nie tworzy kopii zapasowej jeli lata nie pasuje dokladnie do pliku i
          jeli  nie  zadano w inny sposob tworzenia kopii.  Jest to zachowanie
          domylne gdy patch dziala zgodnie z POSIX.

       -B pref, --prefix=pref
          Poprzedza przedrostkiem pref  nazw  pliku  podczas  tworzenia  nazwy
          zwyklej  kopii.   Na przyklad, przy -B /junk/ nazw zwyklej kopii dla
          src/patch/util.c jest /junk/src/patch/util.c.

       --binary
          Za wyjtkiem standardowego wyjcia i /dev/tty, wszystkie pliki czyta i
          zapisuje  w  trybie  binarnym.   Opcja  ta  nie ma adnych skutkow na
          systemach zgodnych z POSIX.  Na systemach podobnych do DOS, gdzie ma
          znaczenie, lata powinna by tworzona przy uyciu diff -a --binary.

       -c,  --context
          Wymusza interpretacj pliku z lat jako ronicy typu context.

       -d kat,  --directory=katalog
          Powoduje  interpretacj  katalogu jako katalogu, ktory ma by biecym i
          przechodzi do niego przed zrobieniem czegokolwiek innego.

       -D symb,  --ifdef=symb
          Powoduje uywanie konstrukcji "#ifdef...#endif" do oznaczania  zmian.
          symb bdzie symbolem ronicujcym.

       --dry-run
          Wypisuje wynik latania bez faktycznego zmieniania plikow.

       -e,  --ed
          Wymusza interpretacj pliku z lat jako skryptu ed.

       -E,  --remove-empty-files
          Powoduje,  e  usuwane s pliki wyjciowe, ktore po zaaplikowaniu lat s
          puste.  Zwykle uycie tej  opcji  nie  jest  konieczne,  gdy  program
          potrafi  zbada  znaczniki  czasu  w  naglowku  i  stwierdzi,  czy po
          naniesieniu lat plik powinien istnie.  Jeli jednak wejcie  nie  jest
          plikiem  ronic  kontekstowych  lub gdy patch dziala zgodnie z POSIX,
          puste zalatane pliki nie bd usuwane, dopoki nie zostanie  podana  ta
          opcja.   Podczas usuwania pliku patch usiluje usun rownie jego puste
          katalogi nadrzdne.

       -f,  --force
          Wymusza zaloenie, e uytkownik  dokladnie  wie  co  robi  i  powoduje
          niezadawanie pyta. Pomija laty, z ktorych naglowkow nie wynika, jaki
          plik powinien by zalatany; pliki s latane nawet jeli  maj  zl  wersj
          dla  linii  Prereq:; zaklada, e laty nie s odwrocone, nawet jeli tak
          wygldaj.  Opcja ta nie eliminuje komentarzy; do tego uyj -s.

       -F num,  --fuzz=num
          Ustawia wspolczynnik `maximum fuzz factor'.  Opcja ta tyczy si tylko
          ronic  typu  context  i  powoduje, e patch ignoruje maksymalnie tyle
          linii, zagldajc w  miejsca,  gdzie  ma  zainstalowa  fragment  laty.
          Zauwa,  e duy wspolczynnik zwiksza prawdopodobiestwo nieprawidlowego
          naniesienia laty. Domyln wartoci jest 2 i nie moe  by  ustawiona  na
          wicej ni liczba linii kontekstu w ronicy, czyli zwykle 3.

       -g num,  --get=num
          Steruje  akcjami programu patch gdy oryginalny plik jest pod kontrol
          RCS lub SCCS,  a  nie  istnieje  lub  jest  przeznaczony  tylko  dla
          odczytu.   Take  wtedy,  gdy  jest  pod  kontrol  ClearCase,  a  nie
          istnieje.  Jeeli num jest dodatnie, to pobiera (get) lub aktualizuje
          (check  out) plik z danego systemu kontroli wersji (revision control
          system).  Jeli wynosi zero, patch ignoruje system kontroli wersji  i
          nie  pobiera  pliku;  jeli  num  jest ujemne, to pyta uytkownika czy
          pobra plik.  Domylna warto tej opcji okrelana jest wartoci  zmiennej
          rodowiska PATCH_GET jeli takowa istnieje; jeli nie, to warto domylna
          jest zerem, gdy patch dziala zgodnie z  POSIX,  w  przeciwnym  razie
          jest ujemna.

       -i plik/laty,  --input=plik/laty
          Odczytuje   lat  z  pliku/laty.   Jeli  plikiem/laty  jest  -,  to  ze
          standardowego wejcia, domylnie.

       -l,  --ignore-whitespace
          Wykonuje swobodniejsze porownywanie  wzorcow,  w  przypadku,  gdy  w
          pliku  pozamieniano  tabulacje  i  spacje. Dowolna sekwencja bialych
          spacji (znakow tabulacji  lub  spacji)  w  linii  pliku  laty  bdzie
          odpowiada  dowolnej  sekwencji  bialych  spacji  oryginalnego pliku.
          Cigi  bialych  spacji  wystpujce  na  kocach  linii  s   ignorowane.
          Normalne znaki musz wci dokladnie pasowa. Kada linia kontekstu nadal
          musi pasowa do linii oryginalnego pliku.

       -n,  --normal
          Powoduje, e plik z lat jest interpretowany jak ronica typu `normal'.

       -N,  --forward
          powoduje ignorowanie  lat,  ktore  wydaj  si  by  odwrocone  lub  ju
          zaaplikowane.  Zobacz te -R.

       -o plik-wyj,  --output=plik-wyj
          Zamiast   latania   bezporednio   oryginalnych  plikow,  wynik  jest
          kierowany do plik-wyj.

       -pnum,  --strip=num
          Z kadej nazwy pliku znalezionej  w  pliku  laty  ujmuje  najmniejszy
          przedrostek   zawierajcy   num   pocztkowych  ukonikow.   Cig  kilku
          ssiadujcych ukonikow liczy si za jeden ukonik.  Opcj przewidziano na
          wypadek  gdyby  przechowywal  pliki w innym katalogu ni osoba, ktora
          przeslala lat.  Na przyklad, zalomy, e nazwa  pliku  w  lacie  miala
          warto

               /u/howard/src/blurfl/blurfl.c

          ustawienie -p lub -p0 nie zmienia jej, -p1 daje

               u/howard/src/blurfl/blurfl.c

          bez pocztkowego ukonika, a -p4 daje

               blurfl/blurfl.c

          natomiast niepodanie -p w ogole, daje po prostu blurfl.c.  Wynik tej
          operacji jest poszukiwany albo w katalogu biecym,  albo  w  katalogu
          podanym przez opcj -d.

       --posix
          Postpuje bardziej zgodnie ze standardem POSIX:

           +o Dociekajc  nazw  plikow  z  naglowkow ronic z listy (stary, nowy,
             indeks) bierze pierwszy istniejcy plik.

           +o Nie usuwa plikow, ktore po zalataniu staj si puste.

           +o Nie pyta o pobieranie plikow z RCS, ClearCase czy SCCS.

           +o Wymaga, by w wierszu  polece  wszystkie  opcje  wystpowaly  przed
             nazwami plikow.

           +o Nie tworzy kopii zapasowych przy wystpieniu niezgodnoci.

       --quoting-style=wyraz
          Uywa  stylu  wyraz  do cytowania nazw wyjciowych.  Wyraz powinien by
          jednym z poniszych:

          literal
                 Wypisuje nazwy bez zmian.

          shell  Cytuje nazwy dla powloki jeli zawieraj metaznaki powloki  lub
                 spowodowalyby dwuznaczno wyniku.

          shell-always
                 Cytuje  nazwy  dla  powloki,  nawet  wtedy, gdy normalnie nie
                 wymagalyby cytowania.

          c      Cytuje nazwy jak dla lacuchow w jzyku C.

          escape Cytuje jak z c, z wyjtkiem tego,  i  pomija  otaczajce  znaki
                 cudzyslowu.

          Warto  domyln  opcji  --quoting-style  mona okreli za pomoc zmiennej
          rodowiska QUOTING_STYLE.  Jeli nie jest ona  ustawiona,  to  wartoci
          domyln jest shell.

       -r plik-odrz,  --reject-file=plik-odrz
          Odrzucone  poprawki  s  umieszczane  w  zadanym  pliku-odrz, a nie w
          domylnym pliku odrzuce .rej.

       -R,  --reverse
          Mowi, e  lata  ta  zostala  utworzona  przy  zamienionych  miejscami
          starych  i  nowych  plikach [tlum. zamiast `diff -c stary nowy' uyto
          pomylkowo `diff -c nowy stary'].  (Tak, obawiam si e  czasem  si  to
          zdarza,  natura ludzka jest jaka jest.)  Patch Sprobuje zamieni kady
          fragment przed  jego  zaaplikowaniem.  Odrzucenia  wyjd  w  formacie
          zamienionym  (swapped).  Opcja -R nie dziala ze skryptami ronicowymi
          eda gdy jest tam  zbyt  malo  danych  do  zrekonstruowania  operacji
          odwrotnej.

          Jeli  pierwszy  fragment laty zawiedzie, patch odwraca ten fragment,
          sprawdzajc czy nie moe by tak zaaplikowany.   Jeli  moe,  zostaniesz
          zapytany czy chcesz ustawi opcj -R.  Jeli nie, lata bdzie aplikowana
          dalej w sposob tradycyjny.  (Uwaga: metoda ta  nie  moe  wykry  laty
          odwroconej  jeli  jest  to  ronica typu normal i jeli pierwsz komend
          jest doklejanie (append) (tj. powinno to by  kasowanie  --  delete).
          Jest  tak  dlatego,  e  doklejanie zawsze dziala, gdy pusty kontekst
          pasuje wszdzie.  Szczliwym  trafem,  wiele  lat  raczej  dodaje  lub
          zmienia linie ni je kasuje, wic wikszo odwroconych ronic typu normal
          zaczyna si od kasowania, co zawiedzie i wywola heurystyk.)

       -s,  --silent,  --quiet
          Powoduje, e patch dziala cicho, chyba e pojawi si bld.

       -t,  --batch
          Podobne do -f, gdy eliminuje  pytania,  lecz  dziala  wedlug  innych
          zaloe:  pomija  laty, ktorych naglowki nie zawieraj nazw plikow (tak
          samo jak -f), pomija laty dla plikow ze  zlymi  wersjami  Prereq:  i
          przyjmuje, e laty s odwrocone, jeli na takie wygldaj.

       -T,  --set-time
          Ustawia  czasy  modyfikacji  i  ostatniego  dostpu zalatanych plikow
          wedlug znacznikow czasu podanych w naglowkach  ronic  typu  context,
          zakladajc,  e  naglowki  te  stosuj  czas  lokalny.   Opcja  ta jest
          niezalecana, gdy uycie lat korzystajcych  z  czasu  lokalnego  przez
          osoby  z  innych  stref czasowych nie jest latwe.  Ponadto znaczniki
          czasu lokalnego nie s jednoznaczne w przypadku,  gdy  zegar  lokalny
          jest  cofany  w zwizku z dostosowywaniem do czasu letniego.  Zamiast
          tej opcji, powinno si tworzy laty  z  czasem  uniwersalnym  (UTC)  i
          stosowa opcj -Z lub --set-utc.

       -u,  --unified
          Wymusza   interpretacj   laty   jako  ronicy  typu  unified  context
          (zunifikowana ronica kontekstowa).

       -V metoda,  --version-control=metoda
          -V metoda, --version--control=metoda Powoduje,  e  metoda  staje  si
          metod  tworzenia  nazw  plikow  zapasowych.  Rodzaje robionych kopii
          zapasowych   mona    rownie    poda    w    zmiennej    rodowiskowej
          PATCH_VERSION_CONTROL   (lub,   jeli   nie  jest  ustawiona,  zmienn
          VERSION_CONTROL), ktora jest przeslaniana  przez  t  opcj.   Wybrana
          metoda  nie  ma  wplywu na to, czy kopie zapasowe bd wykonywane, i w
          jakich przypadkach.   Okrela  tylko  sposob  tworzenia  nazw  plikow
          zapasowych.   Warto  metody  jest  podobna  jak  zmiennej  `version-
          control' GNU Emacsa.   Patch  rozpoznaje  te  ich  bardziej  opisowe
          synonimy.  Poprawne wartoci to (przyjmowane s rozronialne skroty):

          numbered  lub  t
             Tworzy  zawsze numerowane kopie zapasowe.  Nazw numerowanej kopii
             zapasowej pliku F jest F.~N~ gdzie N to numer wersji.

          existing  lub  nil
             Tworzy numerowane kopie zapasowe  plikow,  ktore  ju  je  maj,  a
             zwykle kopie dla pozostalych. Tak jest domylnie.

          `never' lub `simple'
             Zawsze robi zwykle kopie zapasowe.  Opcje -B lub --prefix, -Y lub
             --basename-prefix i -z lub --suffix okrelaj  nazw  pliku  zwyklej
             kopii  zapasowej.   Jeeli  nie  podano adnej z nich, to stosowany
             jest przyrostek zwyklej kopii zapasowej.  Jest to warto  zmiennej
             rodowiska  SIMPLE_BACKUP_SUFFIX,  jeli  jest  ona  ustawiona, lub
             .orig w przeciwnym razie.

          Przy kopiach numerowanych  lub  zwyklych,  jeli  nazwa  pliku  kopii
          zapasowej  jest zbyt dluga, to zamiast niej uywa si przyrostka kopii
          ~.  Jeeli nawet dodanie ~ spowodowaloby, e nazwa bdzie za dluga,  to
          ~ zastpuje ostatni znak nazwy pliku.

       --verbose
          Wypisuje dodatkowe informacje o wykonywanej pracy.

       -x num,  --debug=num
          ustawia wewntrzne flagi debuggowe. Ma to znaczenie tylko dla lataczy
          programu patch.

       -Y pref,  --basename-prefix=pref
          Przy tworzeniu nazwy  zwyklej  kopii  poprzedza  przedrostkiem  pref
          podstawow  cz  nazwy  pliku.   Na przyklad, przy -Y .del/ nazw pliku
          zwyklej    kopii     zapasowej     dla     src/patch/util.c     jest
          src/patch/.del/util.c.

       -z suffix,  --suffix=suffix
          Powoduje,  e  suff jest interpretowane jako przyrostek nazw zwyklych
          kopii zapasowych.  Na przyklad, przy -z - nazw pliku  zwyklej  kopii
          kopii dla src/patch/util.c jest src/patch/util.c-.  Przyrostek kopii
          mona te okreli za  pomoc  zmiennej  rodowiska  SIMPLE_BACKUP_SUFFIX,
          ktora jest przeslaniana przez t opcj.

       -Z,  --set-utc
          Ustawia  czasy  modyfikacji  i  ostatniego  dostpu zalatanych plikow
          wedlug znacznikow czasu podanych w naglowkach  ronic  typu  context,
          zakladajc,  e  naglowki  te  stosuj  czas  uniwersalny - Coordinated
          Universal Time (UTC,  znany  te  jako  czas  redni  Greenwich  GMT).
          Zobacz te opcja -T lub --set-time.

          Opcje  -Z lub --set-utc i -T lub --set-time normalnie powstrzymuj si
          od ustawiania czasu pliku jeli jego oryginalny czas  nie  pasuje  do
          czasu  podanego w naglowku laty lub jej zawarto nie pasuje dokladnie
          do laty.  Jednak, jeli podano opcj -f lub  --force,  to  czas  pliku
          jest ustawiany bez wzgldu na niezgodnoci.

          Z  powodu ogranicze formatu wyjciowego stosowanego przez diff, opcje
          te nie potrafi aktualizowa czasow plikow,  ktorych  zawarto  si  nie
          zmienila.   Wykorzystujc  te opcje powinno si pamita o usuniciu (np.
          za pomoc make clean) wszystkich plikow, ktore zale od zalatanych, by
          poniejsze  wywolania  make  nie  zostaly  zmylone  czasem zalatanych
          plikow.

       --help
          Wypisuje list opcji i koczy dzialanie.

       -v,  --version
          Wypisuje wersj programu i koczy dzialanie.

RODOWISKO

       PATCH_GET
          Okrela,  czy  patch   powinien   domylnie   pobiera   brakujce   lub
          przeznaczone  tylko  do  odczytu  pliki  z  RCS, ClearCase lub SCCS.
          Zobacz opis opcji -g lub --get.

       POSIXLY_CORRECT
          Jeli jest ustawiona, patch cilej stosuje si  do  standardu  POSIX  w
          zachowaniu domylnym.  Zobacz opis opcji --posix.

       QUOTING_STYLE
          Domylna warto opcji --quoting-style.

       SIMPLE_BACKUP_SUFFIX
          Przyrostek   stosowany  do  tworzenia  nazw  plikow  zwyklych  kopii
          zapasowych .orig.

       TMPDIR, TMP, TEMP
          Katalog do przechowywania plikow tymczasowych.   patch  wykorzystuje
          pierwsz  zmienn  rodowiska  z  tej listy, jaka jest ustawiona.  Jeli
          adna  nie  jest,  warto  domylna  zaley  od  systemu:  normalnie  na
          maszynach uniksowych jest to /tmp.

       VERSION_CONTROL lub PATCH_VERSION_CONTROL
          Wybiera  metod  kontroli  wersji  kopii  pliku;  zobacz opcja -v lub
          --version-control.

PLIKI

       $TMPDIR/p*
          pliki tymczasowe

       /dev/tty
          terminal  sterujcy;  uywany  do  uzyskania  odpowiedzi  na   pytania
          zadawane uytkownikowi.

ZOBACZ TAKE

       diff(1) ed(1).

       Marshall  T. Rose and Einar A. Stefferud, Proposed Standard for Message
       Encapsulation,    Internet    RFC    934     <URL:ftp://ftp.isi.edu/in-
       notes/rfc934.txt> (1985-01).

UWAGI DLA WYSY/LAJCYCH /LATY

       Istnieje kilka rzeczy, o ktorych naley pamita przy wysylaniu lat.

       Tworz  lat  wedlug  sprawdzonego  schematu.   Dobr metod jest polecenie
       diff -Naur stary nowy gdzie stary  i  nowy  identyfikuj  stary  i  nowy
       katalog.   Nazwy  stary  i  nowy  nie  powinny zawiera adnych ukonikow.
       Naglowki z polece diff powinny zawiera daty i czasy czasu uniwersalnego
       (UTC) z zastosowaniem tradycyjnego formatu uniksowego, by odbiorcy laty
       mogli skorzysta z opcji -Z lub --set-utc.  Oto przykladowe polecenie, z
       uyciem skladni powloki Bourne'a:

            LC_ALL=C TZ=UTC0 diff -Naur gcc-2.7 gcc-2.8

       Powiadom  odbiorcow,  jak zaaplikowa lat, wskazujc, do ktorego katalogu
       przej cd i jakich opcji patch uy.  Zalecany  jest  lacuch  opcji  -Np1.
       Wyprobuj procedur stawiajc si na miejscu odbiorcy i stosujc lat na kopi
       oryginalnych plikow.

       Moesz oszczdzi ludziom wielu  problemow,  zachowujc  plik  patchlevel.h
       Jest  on  latany  aby  zwikszy poziom laty (patch level).  Umie go jako
       pierwsz ronic w pliku z lat, ktory wysylasz.   Jeli  do  laty  wstawisz
       lini  Prereq:,  to nie pozwoli ona na stosowanie lat poza kolejnoci bez
       ostrzeenia.

       Moesz utworzy plik u odbiorcy wysylajc mu ronic z porownania  /dev/null
       lub  pusty  plik  o  dacie  rownej  Epoce  (1970-01-01  00:00:00 UTC) z
       plikiem, ktory chcesz  stworzy.   Zadziala  to  tylko  jeli  plik  taki
       jeszcze  nie  istnieje  w  katalogu docelowym.  I odwrotnie, moesz usun
       plik wysylajc ronic kontekstow porownujc  plik  do  usunicia  z  pustym
       plikiem datowanym na Epok.  Plik nie zostanie usunity jeli patch dziala
       zgodnie z POSIX a nie podano opcji -E lub --remove-empty-files.   Prost
       metod  generowania  lat, ktore tworz i usuwaj pliki jest uycie opcji -N
       lub --new-file programu GNU diff.  Jeli spodziewasz si, e odbiorca uyje
       opcji -pN, nie wysylaj wyjcia wygldajcego tak:

            diff -Naur v2.0.29/prog/README prog/README
            --- v2.0.29/prog/README   Mon Mar 10 15:13:12 1997
            +++ prog/README   Mon Mar 17 14:58:22 1997

       bo  obie  nazwy  plikow maj ron liczb ukonikow, a rozmaite wersje patch
       ronie  interpretuj  nazwy  plikow.   Unikniesz  mylnej   interpretacji,
       wysylajc zamiast tego takie wyjcie:

            diff -Naur v2.0.29/prog/README v2.0.30/prog/README
            --- v2.0.29/prog/README   Mon Mar 10 15:13:12 1997
            +++ v2.0.30/prog/README   Mon Mar 17 14:58:22 1997

       Unikaj  wysylania  lat  porownujcych  pliki o takich nazwach, jakie maj
       kopie zapasowe, jak np.  README.orig, gdy moe to  zmyli  patch,  tak  e
       bdzie  nakladal lat na plik kopii zamiast na rzeczywisty plik.  Zamiast
       tego powiniene wysyla laty porownujce pliki  o  takich  samych  nazwach
       podstawowych, poloone w ronych katalogach, np. old/README i new/README.

       Uwaaj  by  nie  wysyla  lat  odwrotnych,  gdy  powoduje  to,  e  ludzie
       zastanawiaj si czy ju zalczyli lat.

       Nie probuj budowa lat, ktore zmienialy  by  pliki  pochodne  (np.  plik
       configure,   w  ktorym  jest  linia  configure:  configure.in  w  swoim
       makefile), poniewa odbiorca i tak powinien by  w  stanie  je  odtworzy.
       Jeli  musisz  wysla  ronice  plikow  pochodnych, utworz je uywajc czasu
       uniwersalnego UTC;  odbiorcy powinni zaaplikowa lt stosujc opcj -Z  lub
       --set-utc,  a  nastpnie  usun  wszystkie nielatane pliki, ktore zale od
       wlanie zalatanych (np. za pomoc make clean).

       Mimo i mona umieci 582 listingow ronic w jednym pliku, to lepiej wstawi
       grupy powizanych lat do osobnych plikow.

       Poza  tym,  upewnij  si,  e  podale  poprawnie  nazwy plikow, zarowno w
       naglowku ronicy kontekstowej, jak i w linii Index:.  Jeli latasz  co  w
       podkatalogu, upewnij si, e powiadomile uytkownika, by podal opcj -p.

DIAGNOSTYKA

       Zbyt  wiele  by  tu  wymienia,  lecz  ogolnie wskazuj, e patch nie mogl
       przetworzy pliku z lat.

       Jeli podano opcj --verbose, komunikat Hmm... wskazuje, e w pliku z  lat
       jest nieprzetworzony tekst i e patch probuje domyli si, czy znajduje si
       w nim lata, a jeli tak, to jakiego jest rodzaju.

       Patch  koczy  prac  z  kodem  0  jeli  wszystkie  kawalki  zaaplikowano
       poprawnie,  1  jeli  jakie  nie  mogly by zaaplikowane, a 2 w przypadku
       powaniejszych  klopotow.   Podczas  aplikowania  zbioru  lat  w   ptli,
       umoliwia  ci  sprawdzenie tego kodu, tak by nie dolcza ju reszty lat do
       czciowo polatanego pliku.

ZASTRZEENIA

       Ronice  kontekstowe  nie  mog  wiarygodnie  odwzorowywa  tworzenia  lub
       usuwania  pustych plikow, pustych katalogow czy plikow specjalnych, jak
       dowizania symboliczne.  Nie potrafi te reprezentowa zmian w  metadanych
       pliku,  takich  jak  wlaciciel,  grupa, prawa czy to, e jeden plik jest
       twardym dowizaniem do drugiego.  Jeli takie zmiany s  rownie  wymagane,
       lacie  powinny  towarzyszy  osobne  instrukcje  (np.  w postaci skryptu
       powloki).

       Patch nie potrafi stwierdzi, czy  w  skrypcie  ed  nie  istniej  numery
       linii,  a  w  normalnych ronicach moe wykry niewlaciwe numery tylko gdy
       odnajdzie   zmian   lub   usunicie.    Ronica   kontekstowa,    uywajca
       wspolczynnika  `fuzz  factor'  3  moe  mie podobne problemy. Dopoki nie
       zostanie dodany wlaciwy interaktywny  interfejs  uytkownika,  powiniene
       raczej w tych wypadkach robi ronice typu context.  Zobaczysz czy zmiany
       maj  sens.  Oczywicie  kompilowanie  bez  bldow  jest  calkiem   dobrym
       wskazaniem, e lata zadzialala, lecz nie jest to zawsze prawda.

       Patch zwykle daje prawidlowe wyniki, nawet gdy musi duo zgadywa. Jednak
       rezultaty maj gwarancj prawidlowoci tylko wtedy, gdy laty aplikowane  s
       do dokladnie tej samej wersji pliku, z ktorej zostaly wygenerowane.

KWESTIE ZGODNOCI

       Standard  POSIX  podaje  zachowanie,  ktore  roni  si  od  tradycyjnego
       zachowania si patcha.  Powiniene pamita o  tych  ronicach  jeli  musisz
       wspolpracowa z patch w wersji 2.1 lub wczeniejszymi, ktore nie s zgodne
       z POSIX.

        +o W tradycyjnym patchu argument opcji -p byl  opcjonalny,  a  gole  -p
          bylo  rownowane -p0.  Obecnie opcja -p wymaga argumentu, a -p 0 jest
          teraz  rownowanikiem  -p0.   Dla  zachowania  maksymalnej  zgodnoci,
          stosuj opcje typu -p0 i -p1.

          Ponadto,  tradycyjny  patch  po prostu zlicza ukoniki przy obcinaniu
          przedrostkow ciekowych; patch liczy obecnie  skladowe  nazwy  pliku.
          To  znaczy,  cig  ssiadujcych  ukonikow  liczy  si  obecnie za jeden
          ukonik.  Dla zachowania maksymalnej zgodnoci, unikaj  wysylania  lat
          zawierajcych // w nazwach plikow.

        +o W  tradycyjnym  patchu,  tworzenie  kopii  zapasowych  bylo  wlczone
          domylnie.  Zachowanie to jest teraz wlczane opcj -b lub --backup.

          I odwrotnie, w POSIX-owym patch, kopie nigdy nie s  tworzone,  nawet
          jeli  wystpi  niedopasowanie  laty.  W GNU patch, zachowanie to jest
          wlczane opcj --no-backup-if-mismatch lub przez wlczenie  zgodnoci  z
          POSIX    opcj    --posix   albo   ustawieniem   zmiennej   rodowiska
          POSIXLY_CORRECT.

          Opcja   -b suffix   tradycyjnego   patch   jest   rownowana   opcjom
          -b -z suffix dla GNU patch.

        +o Tradycyjny  patch stosuje skomplikowan (i nie w pelni udokumentowan)
          metod domylania si z naglowka laty nazwy pliku do zalatania.  Metoda
          ta  nie  jest  zgodna  z  POSIX i ma kilka niepoprawnie zakodowanych
          fragmentow  [gotchas].   Obecny  patch  korzysta  z  innej,   rownie
          skomplikowanej  (ale  lepiej  udokumentowanej)  metody,  ktora  jest
          opcjonalnie zgodna z POSIX; mamy nadziej, e ma mniej bldow. Obie  te
          metody  s  ze  sob  zgodne  jeli  nazwy  plikow  w  naglowku  ronicy
          kontekstowej i w linii Index: po obciciu przedrostka  s  identyczne.
          Normalnie  lata  jest  zgodna jeli wszystkie nazwy plikow w naglowku
          zawieraj t sam liczb ukonikow.

        +o Gdy tradycyjny patch zadawal uytkownikowi pytanie,  kierowal  je  na
          standardowe  wyjcie  bldow i oczekiwal odpowiedzi z pierwszego pliku
          poniszej  listy  bdcego  terminalem:   standardowe   wyjcie   bldow,
          standardowe  wyjcie,  /dev/tty,  i  standardowe wejcie.  Teraz patch
          wysyla  pytania  na  standardowe  wyjcie  i  pobiera  odpowiedzi   z
          /dev/tty.   Zmieniono  domylne odpowiedzi na niektore z pyta.  Dziki
          temu patch nigdy  nie  wchodzi  w  nieskoczon  ptl  przy  stosowaniu
          domylnych odpowiedzi.

        +o Tradycyjny  patch  koczyl  dzialanie  z kodem rownym liczbie bldnych
          fragmentow, albo z kodem 1 jeli napotkano powany  problem.   Obecnie
          patch  koczy dzialanie z kodem 1 jeli nie udalo si zaaplikowa jakich
          fragmentow, albo 2 jeli napotkano powany problem.

        +o Wysylajc instrukcje okrelajce sposob skorzystania z laty przez  kogo
          pracujcego  z GNU patch, tradycyjnym patchem, lub patch em zgodnym z
          POSIX ogranicz si do podanych niej opcji.  W tym zestawieniu  spacje
          s znaczce, a argumenty wymagane.

             -c
             -d kat
             -D symb
             -e
             -l
             -n
             -N
             -o plik-wyj
             -pnum
             -R
             -r plik-odrz

B/LDY

       Zgloszenia bldow prosz wysyla do <bug-gnu-utils@gnu.org>.

       Moglby  by sprytniejszy co do czciowych trafie, nadmiernie odbiegajcych
       od normy offsetow i zamienionego kodu, lecz wymagaloby  to  dodatkowego
       przebiegu.

       Jeli  kod  zostal powielony (np. #ifdef STARYKOD ... #else ... #endif),
       patch  nie  moe  zalata  obu  wersji,  i   jeli   w   ogole   zadziala,
       prawdopodobnie zalata niewlaciw i powie, e udalo mu si z obydwiema.

       Jeli  aplikujesz  lat,  ktor  ju  zaaplikowale,  patch pomyli e jest to
       odwrotna lata i zaoferuje zdjcie laty.  Mona to uwaa  za  zaprojektowan
       funkcj programu.

KOPIOWANIE

       Copyright 1984, 1985, 1986, 1988 Larry Wall.
       Copyright  1989,  1990,  1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998
       Free Software Foundation, Inc.

       Permission is granted to make and distribute verbatim  copies  of  this
       manual  provided  the  copyright  notice and this permission notice are
       preserved on all copies.

       Permission is granted to copy and distribute modified versions of  this
       manual  under  the  conditions  for verbatim copying, provided that the
       entire resulting derived work is  distributed  under  the  terms  of  a
       permission notice identical to this one.

       Permission  is  granted  to  copy  and  distribute translations of this
       manual into another language, under the above conditions  for  modified
       versions,  except  that  this  permission  notice  may  be  included in
       translations approved by  the  copyright  holders  instead  of  in  the
       original English.

AUTORZY

       Larry  Wall napisal pierwotn wersj patcha.  Paul Eggert usunl istniejce
       w programie arbitralne ograniczenia.  Dodal  obslug  plikow  binarnych,
       ustawianie  czasow  pliku  i  usuwanie  plikow,  i  uczynil go bardziej
       zgodnym z POSIX-em.  Swoj wklad wnieli te Wayne  Davison,  ktory  dodal
       obslug  formatu unidiff, i David MacKenzie, ktory doloyl obslug ustawie
       i kopii zapasowych.

INFORMACJE O T/LUMACZENIU

       Powysze tlumaczenie pochodzi z nieistniejcego ju  Projektu  Tlumaczenia
       Manuali  i  moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
       opisem a rzeczywistym zachowaniem  opisywanego  programu  lub  funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.