Hallo (echte) Untermenge der Welt ;-) Ich suche ein Tool, dass sich prinzipiell aehnlich verhaelt wie patch(1), jedoch im Falle eines Konflikts nicht einfach aufgibt und ein "reject-file" schreibt, sondern (aehnlich wie es viele VCSe bei einem fehlgeschlagenen Merge tun) an der Konfliktstelle in der Datei die alte und neue Version mit Konflikt-Marker einfuegt. Bsp.: Statt einer .rej-Datei mit z.B. folgendem Inhalt (Vorsicht: sinnloses Beispiel ;-)): --- 8< --- *************** *** 2,7 **** int main (int argc, char **argv) { fprintf ("Hello world!\n"); return atoi (argv[1]); } --- 2,10 ---- int main (int argc, char **argv) { + if (2 != argc) + return -1; + fprintf ("Hello world!\n"); return atoi (argv[1]); } --- >8 --- ... haette ich gern eine geaenderte Datei, mit Konflikt-Markierung: --- 8< --- int main (int argc, char **argv) { <<<<<<< HEAD:foobar.c ======= if (2 != argc) return -1; fprintf ("Hello world!\n"); >>>>>>> commit4:foobar.c return atoi (argv[1]v); } --- >8 --- Ist sowas schon mal jemandem ueber den Weg gelaufen? Ich hab mich leider mit der Theorie dahinter bislang nicht befasst - ich weiss also nicht, ob das ueberhaupt sinnvoll ohne Merge-Basis moeglich ist. Nachdem es aber afaik auch SVN hinkriegt und die ohne Merge-Basis arbeiten, sollte es imho eigentlich schon gehen. Irgendwelche Ideen dazu sind auch willkommen - ich fuerchte fast, dass ich mir so ein Tool selbst bauen muss :-) Falls sich jemand wundert - ein moegliches Anwendungsbeispiel fuer ein solches Werkzeug ist das Einspielen eines aus einem VCS gewonnenen Patches in eine aeltere Version der Software, die nur als Teer-Klumpen vorliegt. Dabei enthaelt der Patch nur den Diff eines Commits - ich moechte nicht saemtliche Aenderungen seit der aelteren Version uebernehmen. Gruss, Sebastian -- Sebastian "tokkee" Harl +++ GnuPG-ID: 0x8501C7FC +++ http://tokkee.org/ Those who would give up Essential Liberty to purchase a little Temporary Safety, deserve neither Liberty nor Safety. -- Benjamin Franklin