Adott egy A fájl és egy patch foltfájl, ami az A és B fájlok közti különbséget mutatja.
Szeretnék kiadni egy olyan patch parancsot, ami A alapján létrehozza (az adott könyvtárban még nem létező) B-t.
Egy példa itt a fájlokra: http://pastebin.com/23r9JpRE
====
A megoldás:
--- /dev/null
+++ ./B
cp A B
patch -p1 < patchfile
- 1721 megtekintés
Hozzászólások
itt egy példa
https://gist.github.com/3961778
patch -p1 < fájl.patch
- A hozzászóláshoz be kell jelentkezni
Tehát /dev/null az egyik fájl?
- A hozzászóláshoz be kell jelentkezni
jól értem, hogy te a régi fájlt megtartva akarsz egy új fájlt létrehozni, úgy, hogy a régiből és a különbségből generálódjon az új?
Tud egyáltalán ilyet a diff?
a példámnál maradva
ez frissíti az adott fájlt
--- a/backports/backports.txt
+++ b/backports/backports.txt
ez létrehoz egy új fájlt új tartalommal (a diff a teljes fájlt tartalmazza)
--- /dev/null
+++ b/backports/v3.2.27_devm-revert.patch
ez nem tudom, hogy támogatott művelet-e, de ha az lenne, akkor feltételezem hogy átnevezés
--- a/backports/backports.txt
+++ b/backports/kiskutya.txt
- A hozzászóláshoz be kell jelentkezni
Igen, jól érted a vágyamat (régi megmarad, új létrehoz a különbségből).
A dolognak egyébként az a háttere, hogy időnként jönnek újabb igények egy-egy SQL szkript kialakítására, módosítására, és ezeket az igényeket efféle patch-ként szeretném megvalósítani, úgy, hogy közben a többi korábbi igényt (s a folyamat során kialakuló fájl-fázisokat) se kelljen eldobni.
Köszi az infókat.
- A hozzászóláshoz be kell jelentkezni
lehet, hogy a harmadik példa az ami neked kell... talán nem törli le az A-t.
A törlésnél a B a /dev/null lesz ha jól emlékszem
Annyiból értelmes lehet az amit szeretnél, hogy úgy megmondhatod hanyadik patchig legyen alkalmazva a változtatás, ha például különböző verziójú rendszerekhez is ugyanazt a patch csomagot használod.
Ha csak verziókövetésre kell, akkor jobban járhatsz egy verziókövető rendszerrel (svn vagy git például)
- A hozzászóláshoz be kell jelentkezni
Igen, tökéletes lett. Köszönöm!
- A hozzászóláshoz be kell jelentkezni