Starthilfe für die Arbeit mit Git [message #51254] |
Tue, 25 March 2014 15:32 |
oskar
Messages: 1 Registered: March 2014 Location: Germany
|
Junior Member |
|
|
Hallo,
ich bin kürzlich eher zufällig über einen Bug im vzmigrate-Skript gestolpert, für das ich dann auch einen Patch erstellt habe.
Nun hätte ich da noch zwei Optionen, die ich ebenfalls einpflegen möchte. Nach meinem ersten Patch bekam ich von Kir in Kürze den Hinweis auf Git. Soweit so gut. Ich kann clonen und könnte auch commiten und pushen. Was Git angeht, gibt es genügend informative Quellen im Netz. Nur der richtige Weg der Entwicklung will sich mir nicht erschließen.
Folgende Problemstellung:
Habe ich das vzctl-Repository gezogen, liegen unter /bin die Skripte mit der Endung .in vor. Diese könnte (und kann) ich natürlich bearbeiten. Nur sind diese Skripte - zumindest das Skript vzmigrate.in - so nicht ohne weiteres Lauffähig. Zum einen befinden sich @platzhalter@ in dem Skript, die ich zunächst per Hand mit den entsprechenden Werten füllen müsste und zum anderen - und das kann ich absolut nicht erklären - kommt es im Ablauf des Skripts zu einem Fehler, der nicht auftritt, wenn ich das originale Skript unter /usr/sbin editiere. Ich habe also das modifizierte Skript aus dem Git unter /usr/sbin/vzmigrate-test gespeichert, die @platzhalter@ sinnvoll geändert und bekomme dann folgenden Fehler:
/usr/sbin/vzmigrate-test: Zeile 720: Syntaxfehler beim unerwarteten Wort `('
/usr/sbin/vzmigrate-test: Zeile 720: ` log 0 "IP address(es) already in use on destination node"'
Nehme ich die Klammer raus, läuft das Skript bis zum nächsten Vorkommen von ( in einem Log-Aufruf. Beim Original-Skript passiert das nicht.
Um also korrekt zu arbeiten, damit ich - wie Kir es mir nahelegte - ein Git-diff erzeugen kann, müsste ich theoretisch das letzte vzmigrate aus dem nightly build holen, das git klonen, dann das vzmigrate aus /usr/sbin modifizieren, die Änderungen Teil für Teil in die vzmigrate.in kopieren, damit ich nicht ggf. vorhandene @platzhalter@ überschreibe, das dann committen und das git-diff erstellen. Hinterher dann wieder vzctl aus stable installieren.
Die Frage, die ich also eigentlich stellen will, ist die:
Wie genau gehe ich vor, wenn ich das git geklont habe? Wie erstelle ich aus dem vzmigrate.in eine lauffähige Arbeitskopie, nachdem ich meine Änderungen eingearbeitet habe?
Ich hätte da noch die eine oder andere Idee, die ich gerne vorschlagen bzw. einarbeiten würde. Ich bin mir sicher, da muss es doch einigermaßen standartisierte Abläufe geben, die sich mir als Git-Noob noch nicht erschlossen haben.
Kann mir bitte jemand auf die Sprünge helfen?
Oskar
|
|
|
|