Toon posts:

patch(1) doet moeilijk

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb gister een kleine improvement gemaakt in een stukje source van xchat.
Nu wou ik hier zow een mooie patch voor maken (je weet wel, die dingen die diff(1) produceert.)
Dit deed ik aan de hand van de volgende cmdline:
code:
1
diff -u xtext.c xtext.c.new

Vervolgens krijg ik mooie output van diff, heb ik ff in een filetje gepleurt.
Tot zover lukte alles nog.., maar toen ik:
code:
1
patch -p0 < patch

deed, kreeg ik een error.

Ik wist TOTAAL NIET waar het aan lag.. ik heb toen voor de grap eens alleen de relevante regels in een file gelikkert (en dan ook weer een nieuwe versie maken met alleen de relevante regels).
Deze wou patch(1) wel patchen vreemd genoeg..

Ik heb geen idee waar patch op ze bek gaat :(
Krijg de volgende error:
code:
1
2
3
4
peyote:~/xchat-2.0.4/src/fe-gtk# patch -p0 < patch 
patching file xtext.c
Hunk #1 FAILED at 72.
1 out of 1 hunk FAILED -- saving rejects to file xtext.c.rej


en dit is de patch file:
code:
1
2
3
4
5
6
7
8
9
10
11
12
--- xtext.c     Mon Sep  1 16:58:16 2003
+++ xtext.c.new Mon Sep  1 16:56:05 2003
@@ -72,8 +72,7 @@
 
 /* is delimiter */
 #define is_del(c) \
-       (c == ' ' || c == '\n' || c == ')' || c == '(' || \
-        c == '>' || c == '<' || c == ATTR_RESET || c == ATTR_BOLD || c == 0)
+       (c == ' ' || c == '\n' || c == '>' || c == '<' || c == ATTR_RESET || c == ATTR_BOLD || c == 0)
 
 #ifdef SCROLL_HACK
 /* force scrolling off */


Iemand een ideetje? :>

  • Wilke
  • Registratie: December 2000
  • Laatst online: 12:42
Ah, ik heb al een idee!

Hij probeert de file 'xtext.c' te patchen. Alleen staat bovenin de patch dat de 'oude' file xtext.c is, en de nieuwe xtext.c.new.

Als je het nu eens zo doet: Kopieer de originele file 'xtext.c' naar 'xtext.c.old'. Wijzig vervolgens in 'xtext.c' dat wat je veranderen wilde.

Doe dan 'diff -u xtext.c.old xtext.c > patch'. En apply vervolgens de patch zoals je al deed (uiteraard moet je dan de 'oude' versie van xtext.c.old eerst weer over xtext.c heenkopieeren, anders is de patch al applied in feite...je wilt alleen even testen of het ook werkt).

Ik weet niet echt zeker of dit het is (maak niet dagelijks patches dus het is voor mij ook altijd even puzzelen), maar het is het enige wat ik kan bedenken dat fout zou kunnen gaan hier...

(volgens mij maakt wat ik hier zeg niks uit..hhmmm, wat is het dan wel 8)7 )

[ Voor 130% gewijzigd door Wilke op 02-09-2003 13:01 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

maak een nieuwe diff en draai daarbij xtext.c en xtext.c.new om. Mischien helpt dat.

(zit op school, geen ssh, kan het niet checken, sorry.)

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Wilke
  • Registratie: December 2000
  • Laatst online: 12:42
CyBeR schreef op 02 September 2003 @ 13:04:
maak een nieuwe diff en draai daarbij xtext.c en xtext.c.new om. Mischien helpt dat.

(zit op school, geen ssh, kan het niet checken, sorry.)
Dat dacht ik eerst ook, maar volgens de manpage van 'diff' heeft hij het goed gedaan.

Dus ik snap 'r niks van waarom het niet werkt.

Verwijderd

Verwijderd schreef op 02 September 2003 @ 12:28:
Dit deed ik aan de hand van de volgende cmdline:
code:
1
diff -u xtext.c xtext.c.new

Vervolgens krijg ik mooie output van diff, heb ik ff in een filetje gepleurt.
D.m.v. copypast? Dat werkt dus niet. :). Je kan beter redirecten:

code:
1
diff -u xtext.c xtext.c.new > file.patch


Anders dan worden tabs 8 spaties en is de patch dus invalid.

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

CyBeR schreef op 02 September 2003 @ 13:04:
maak een nieuwe diff en draai daarbij xtext.c en xtext.c.new om. Mischien helpt dat.
Als hij die 2 had omgedraait, zou zijn diff file ook 'iets' groter zijn geworden lijkt me ;)

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

moto-moi schreef op 02 September 2003 @ 14:00:
Als hij die 2 had omgedraait, zou zijn diff file ook 'iets' groter zijn geworden lijkt me ;)
Tuurlijk niet, alleen de '+'jes zouden '-'jes zijn geworden en omgekeerd. :).

  • LollieStick
  • Registratie: Juni 2001
  • Laatst online: 28-02 12:09
Als ik het goed begrijp wil je de source van xchat patchen met een zelfgemaakte patch? Is het niet zo dat bestanden die al gepatched (of anderzijds gewijzigd van het origineel) je niet nog eens kunt patchen?

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

LinuxUser schreef op 02 September 2003 @ 14:19:
Als ik het goed begrijp wil je de source van xchat patchen met een zelfgemaakte patch? Is het niet zo dat bestanden die al gepatched (of anderzijds gewijzigd van het origineel) je niet nog eens kunt patchen?
Nee. Dat ligt er aan welke gedeelten van de code de verschillende patches aanpassen, en als dat hetzelfde is, of ze gemaakt zijn om na elkaar doorgevoerd te worden.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Wilke
  • Registratie: December 2000
  • Laatst online: 12:42
Verwijderd schreef op 02 September 2003 @ 13:58:
D.m.v. copypast? Dat werkt dus niet. :). Je kan beter redirecten [..]

Anders dan worden tabs 8 spaties en is de patch dus invalid.
Argh, het zal toch niet waar wezen he!? Daar had ik overheen gelezen...het spreekt iets te vanzelf dat je de uitvoer van diff redirect naar een file 8)7

Verwijderd

Topicstarter
Verwijderd schreef op 02 September 2003 @ 13:58:
[...]


D.m.v. copypast? Dat werkt dus niet. :). Je kan beter redirecten:

code:
1
diff -u xtext.c xtext.c.new > file.patch


Anders dan worden tabs 8 spaties en is de patch dus invalid.
Held! :)
je hebt helemaal gelijk, dat ik daar niet op gekomen was :/
Pagina: 1