"Pontos" diff/patch

 ( antiemes | 2007. január 18., csütörtök - 13:22 )

Hi!

Azt meg lehet mondani a diffnek es a patchnek, hogy az ures file-okkal is ugyanugy foglalkozzon, mint a nemuresekkel? Tehat a patch pontosan ugyanazt a filestrukturat allitsa vissza, mint amirol keszult a patch?

Vannak ilyenek a diff-ben, hogy:
Only in regi: b
[...]
Only in uj: z

Ezeket a patch szepen ignoralja. Ha megadom a diff-nek, hogy -N, akkor olyan diff-et general, amibol a patch az ures file-t letrehozza, viszont amit le kellene, hogy toroljon, azt nem torli le.

Valami otlet?

By(t)e
TBS::Antiemes

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Elvileg úgy tudom, hogy a törlést az jelöli a patch fájlban, hogy az egész fájl fel van sorolva mínusz jelekkel, és az elején az új verzió dátuma az Epoch. Ez így van a patch fájlodban?

Hi!

Ha csak siman diff -cr -rel csinalom, akkor csak annyi van, hogy only in regi: b, es a file vegen hogy only on uj: z.
A diff file:

Only in regi: b
diff -cr regi/e uj/e
*** regi/e      2007-01-18 12:01:16.325566000 +0100
--- uj/e        2007-01-18 12:03:11.543050000 +0100
***************
*** 1 ****
--- 1,2 ----
  lsdhgllkhjsdg
+ ujsor
Only in uj: z

Illetve a -crN eseten:

diff -crN regi/e uj/e
*** regi/e      2007-01-18 12:01:16.325566000 +0100
--- uj/e        2007-01-18 12:03:11.543050000 +0100
***************
*** 1 ****
--- 1,2 ----
  lsdhgllkhjsdg
+ ujsor
diff -crN regi/z/aa uj/z/aa
*** regi/z/aa   1970-01-01 01:00:00.000000000 +0100
--- uj/z/aa     2007-01-18 12:01:43.877377000 +0100
***************
*** 0 ****
--- 1,2 ----
+ ldkfjgjkldgfjé
+ sdkfgjklsfdg

Itt ugy latom, hogy a b-re nincs is semmi utalas. Ugyan most s z rendesen letrejon.
(Csak egy kerdes: Ez a jogosultsagokat (csak az rwxrwxrwx a lenyeg, a tulaj nem) is at tudja vinni? Nem probaltam, de kelleni fog.)

-N mindenképp kell neki. Egyébként ha jót akarsz, akkor -u formátumot kérsz, sokkal olvashatóbb mint a többi, és mindenki ezt hasnzálja manapság.