Frage

Ich suche eine große Suite von IBM Assembler Language-Programmen, von einem VCS basierte auf „Dateinamen enthalten Versionsnummern“, zu einem modernen VCS bei der Migration, die mir geben wird, unter anderem, die Fähigkeit zu verzweigen und zusammenführen.

Diese Dateien haben 80-Spalten-Aufzeichnungen, die letzten 8 Spalten eine fast bedeutungslose Sequenznummer ist.

Für eine Reihe von Gründen, die ich will nicht wirklich Platz verschwenden, indem sie in gehen, ich brauche die VCS zu ignorieren (aber hoffentlich in einiger wohldefinierten Weise zu erhalten), um die Sequenznummer Spalten und diff und Patch-basierte nur auf die Inhalte der ersten 72 Spalten.

Irgendwelche Ideen?


Nur um zu klären „ignorieren, aber bewahren“. Ich nehme es etwas vage ist, wie ich noch nicht ganz meine Ideen gesammelt

Es wäre etwas entlang der Linien von diesem sein:

  

„Beim Zusammenführen / Patching, wenn eine Seite Folgenummern hat, gibt sie, wenn mehr über eine Seite Folgenummern hat, verwenden, um diese in-Datei (1 | 2 | 3)“


Warum will ich Sequenznummern erhalten? Erstens, sie wirklich sind Sequenznummern. Zweitens möchte ich wieder auf dem Mainframe dieses Zeug reintegrieren, wo Sequenznummern schrecklich bedeutend sein kann. (Diejenigen, die wissen, was „SMP / E“ bedeutet verstehen. Diejenigen, die dies nicht tun, glücklich sein, aber zittern ...)


Ich habe gerade erkannte ich eine Antwort nicht akzeptiert hatte. Schwierige Wahl, aber @Noldorin am nächsten kommt, wo ich muss gehen.

War es hilfreich?

Lösung

Ich glaube, dass jedes modernes Versionskontrollsystem ( Subversion und Bazaar diejenigen sind, würde ich in der Regel empfehlen, wobei zentrale und dezentrale respectively) kann ein externes diff / merge Werkzeug verwenden. Leider würde ich denken, dass Sie sich diese benutzerdefinierten Merge-Tool zu schreiben, würde sich (zumindest habe ich noch nie von einem gehört, der tut, die Sie benötigen), obwohl dies nicht eine große Aufgabe sein, könnte ich mir vorstellen würde. Zu sagen, dass Sie in sowie diese Frage Stackoverflow href="https://stackoverflow.com/questions/218053/tools-for-svn-merging"> ausgesprochenen Empfehlungen haben < a href = "https://stackoverflow.com/questions/50371/better-merge-tool-for-subversion"> dieses . Leider kann ich nicht mehr Informationen geben, welches diejenigen Sie wollen in insbesondere sehen, aber es lohnt sich mit einem im Falle Konsultiert, dass jeder von ihnen passieren Ihren Anforderungen gerecht werden.

Andere Tipps

In Mercurial, könnte man leicht Spalten 73-Ende .asm Dateien ignorieren - fügen Sie einfach auf Ihre .hgrc die folgenden Zeilen:

[encode]
*.asm: cut -b -72

(oder etwas komplexere Weise, wenn Sie wollen auch Windows-Systeme unterstützen ;-). Dies würde jedoch nicht erfüllen den Teil des „ignorieren, aber bewahren“ spec „bewahren“ (die, wie Neil Kommentar betont, ist etwas problematisch in sich selbst).

Ich denke, die Bedeutung von „bewahren“ hier ist der Schlüssel. Wenn Sie die Sequenznummern sagen sind „fast bedeutungslos“, tut das „fast“ nichts außer Sequenz enthalten? In der Traumzeit, haben wir dort eine Art Programmablaufplan zu kodieren (ein Beispiel in der ersten Ausgabe von Brooks' Mythische Man Month finden), aber diese Praxis ist gestorben zum Glück aus.

Wenn die einzige Bedeutung der Sequenznummern Spalten sind als eine geordnete Folge von Zahlen. Ich würde versucht sein, @ Alex Ansatz zu verwenden - Sie Vorprozess Dateien aus einem Skript in einem der modernen VC-Tools können - die Sequenznummern zu schneiden, dann, wenn Sie eine Datei zu extrahieren, verwenden ein analoges Instrument, um die Aufzeichnungen wieder resequence <. / p>

(Disclosure: Ich vertrete die Anbieter von Werkzeug in dieser Antwort beschrieben).

Was Sie wollen, ist ein Diff-Tool, das das Zeug in Spalten versteht, dass 72-80 ist „Leerzeichen“ unabhängig von den Fakten, dass Sie es mit Zeichen gefüllt haben.

Semantic Designs COBOL Smart-Differenzierer eine IBM Enterprise COBOL-Variante hat, dass versteht diese just fine.

SD macht Smart Differencers für eine Vielzahl von langauges und IBM Assembler ist ein Zukunftsziel. Kontakt SD offline für Diskussion über Smart Differenzierer für IBM Assembler, wenn Sie interessiert sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top