Použijte svn patch
.
Případ 1:pomocí /usr/bin/patch
:
svn diff > $TMPDIR/mypatchfile.patch
cd myOtherCheckOut
patch -p0 < $TMPDIR/mypatchfile.patch
Použije vaše změny dobře, pokud nejsou žádné přidané/odstraněné soubory prostřednictvím svn add
nebo svn delete
Případ 2:použití svn patch
:
svn diff > $TMPDIR/mypatchfile.patch
cd myOtherCheckOut
svn patch $TMPDIR/mypatchfile.patch
Sleduje také přidané a smazané soubory.
Všimněte si, že ani jeden nesleduje svn move
s a rename
s
Ve výchozím nastavení patch
ignoruje část adresáře cílového souboru; jen hledá "httpd.conf" ve vašem aktuálním pracovním adresáři. Pokud chcete, aby používal úplnou cestu, musíte ho o to výslovně požádat pomocí -p
možnost:
patch -p 0 < httpd.patch
Číslo za -p
je kolik úrovní odstranit z cesty k souboru; -p N
odstraní vše až po lomítko N včetně. První lomítko je číslo 1, takže -p 0
znamená „nic nesvlékej“.
Obecně však může být lepší nespoléhat se na úplnou cestu v souboru opravy; záplata bude obecně užitečnější, pokud bude fungovat i pro soubory v jiném rozložení adresářů. Před spuštěním opravy můžete vždy cd do adresáře obsahujícího soubor (a místo toho použijte úplnou cestu k nalezení samotného souboru opravy, pokud je to potřeba).