Existe-t-il un D? VCS libre moderne pouvant ignorer les numéros de séquence mainframe?

StackOverflow https://stackoverflow.com/questions/845222

  •  20-08-2019
  •  | 
  •  

Question

Je suis en train de migrer une grande suite de programmes IBM Assembler Language, d'un vcs basé sur & "; les noms de fichiers incluent les numéros de version &" ;, vers un vcs moderne qui me donnera, entre autres, , la capacité de créer des branches et de fusionner.

Ces fichiers ont des enregistrements de 80 colonnes, les 8 dernières colonnes étant un numéro de séquence dépourvu de sens.

Pour un certain nombre de raisons pour lesquelles je ne souhaite pas vraiment perdre de la place, j’ai besoin que les vcs ignorent (mais, espérons-le, conservent de manière bien définie) les colonnes du numéro de séquence, ainsi que les différences et les correctifs. uniquement sur le contenu des 72 premières colonnes.

Des idées?

Juste pour clarifier & "ignorer mais conserver &"; J'accepte que c'est un peu vague, car je n'ai pas encore complètement rassemblé mes idées.

Ce serait un peu comme ceci:

  

& ";" Lors de la fusion / correction, si un côté a des numéros de séquence, les éditer; Si plusieurs côtés ont des numéros de séquence, utilisez ceux présents dans le fichier (1 | 2 | 3) "

Pourquoi est-ce que je veux conserver les numéros de séquence? Premièrement, ils sont vraiment des numéros de séquence. Deuxièmement, je souhaite réintégrer ces éléments dans l'ordinateur central, où les numéros de séquence peuvent être terriblement significatifs. (Ceux d'entre vous qui savent ce que & "SMP / E &" Veut dire comprendront. Ceux qui ne le savent pas, soyez heureux, mais tremblez ...)

Je viens de me rendre compte que je n’avais pas accepté de réponse. Choix difficile, mais @Noldorin se rapproche le plus de l'endroit où je dois aller.

Était-ce utile?

La solution

Je crois que tout système de contrôle de version moderne ( Subversion et Bazaar sont ceux que je recommanderais généralement, étant centralisée et distribuée ) peuvent utiliser un outil de différenciation / fusion externe. Malheureusement, je penserais que vous auriez à écrire cet outil de fusion personnalisé (du moins, je n'ai jamais entendu parler d'un outil qui fait ce dont vous avez besoin), même si cela ne devrait pas être une tâche énorme, je l'imagine. Cela étant dit, vous aurez peut-être de la chance avec les recommandations données dans la question de StackOverflow , ainsi que < un href = "https://stackoverflow.com/questions/50371/better-merge-tool-for-subversion"> celui-ci . Désolé, je ne peux pas vous donner plus d'informations sur celles que vous souhaitez examiner en particulier, mais il vaut la peine de les parcourir au cas où l'une d'entre elles satisferait vos exigences.

Autres conseils

Dans Mercurial, vous pouvez facilement ignorer les colonnes 73-end des fichiers .asm - ajoutez simplement à votre fichier .hgrc les lignes suivantes:

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

(ou de manière légèrement plus complexe si vous souhaitez également prendre en charge les systèmes Windows ;-). Cependant, cela ne rencontrerait pas le & Quot; préserver & "; une partie de votre " ignorez mais conservez " spec (ce qui, comme le fait remarquer le commentaire de Neil, est quelque peu problématique en soi).

Je pense que la signification de & "préserver &"; est la clé ici. Lorsque vous dites que les numéros de séquence sont & «Presque sans signification &», Est-ce que & «Presque &»; inclure autre chose que la séquence? Dans le Dreamtime, nous encodions une sorte d’organigramme de programme là-bas (vous en trouverez un exemple dans la première édition du Mois de l’homme mythique de Brooks), mais cette pratique s’est heureusement éteinte.

Si la seule signification des colonnes de numéros de séquence est une séquence de nombres ordonnée. Je serais tenté d'utiliser l'approche de @ Alex & # 8212; vous pouvez prétraiter des fichiers d'un script dans n'importe lequel des outils VC modernes & # 8212; pour couper les numéros de séquence, puis lorsque vous extrayez un fichier, utilisez un outil analogue pour reséquencer à nouveau les enregistrements.

(Divulgation: je représente le fournisseur de l'outil décrit dans cette réponse).

Ce que vous voulez, c'est un outil de différenciation qui comprend que le contenu des colonnes 72 à 80 est & "; espace <<>>; indépendamment des faits que vous avez rempli avec des caractères.

Le Conceptions sémantiques COBOL Smart Differencer comporte une variante IBM Enterprise COBOL qui le comprend très bien.

SD fabrique des Smart Differencers pour diverses langues et IBM Assembler est une cible future. Si vous êtes intéressé, contactez SD hors ligne pour en savoir plus sur un Smart Differencer pour IBM Assembler.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top