05/12/81 merge_ascii, ma Syntax: ma paths {-control_args} Function: merges two or more related ASCII text segments. Arguments: paths are pathnames of segments to be merged as automatically as possible. The equal and :: conventions are allowed. Up to six segments can be merged, including those preceded by the -edit control_argument. Control arguments: -edit path merges the segment named path in a nonautomatic manner. Edit mode is entered each time a modification is found in the specified segment. -minchars N specifies the minimum number of characters that must be identical for merge_ascii to assume blocks of text in different segments are identical. The default value of minchars is 25. -minlines N specifies the minimum number of lines that must be identical for merge_ascii to assume blocks of text in different segments are identical. The default value of of minlines is 2. -old_original path, -old_orig path identifies path as the pathname of a segment antecedent to the most recent common ancestor of the texts being merged and allows the automatic picking up of identical changes present in all the texts being merged. -original path, -orig path identifies path as the pathname of a segment containing the original version of the text. The proper original is the most recent common ancestor of the texts being merged. Overlapping changes, even if identical, cause edit mode to be entered. -output_file path, -of path put the merged output text in the segment named path. (no :: convention) Notes: The merge_ascii program is typically used to merge texts that have been independently modified by several users. If an original version of the text is available, and if the user desires, merge_ascii performs the merge automatically, requiring user intervention only when overlapping modifications are detected. When user intervention is required, merge_ascii displays line-numbered blocks of text and then enters edit mode allowing the user to choose lines from any text or insert new lines. When blocks of text are displayed, each line is preceded by a text identifier and a line number. The text identifier A is reserved for the original, whether supplied or not. The identifiers B-G are assigned to the texts being merged in the order in which their pathnames are encountered on the command line. The identifier M is used for the merged output, if printed while in edit mode. The equal convention is allowed; equal processing is based on the first path argument in the command invocation. Either the -original or -old_original (but not both) control argument may be used to enable automatic merging. If neither is supplied, edit mode is entered each time differences are found in the segments being merged. The -old_original control argument should be used judiciously, only if appropriate, and the user fully understands the relationships between the texts being merged. List of edit requests: In the syntax of the edit requests, is the lowercase letter corresponding to the text identifier used by merge_ascii; is a line number in the text segment. Line numbers can be specified as "<" to address the first line or as ">" to specify the last line of a current block. k copy current block from specified text (e.g., bk copies current block from text B). k copy specified line from specified text (e.g., b5k copies line 5 from text B). ,k copy specified lines from specified text (e.g., b4,7k copies lines 4 through 7 from text B). p print current block from specified text (e.g., bp prints current block from text B). p print specified line from specified text (e.g., b6p prints line 6 from text B). ,p print specified line from specified text (e.g., b12,16p prints lines 12 through 16 from text B). d delete the current block in specified text (e.g., md deletes the current block in text M). input enter input mode. . return from input mode to edit mode. go exit editor and continue comparison. quit abort merge and return to command level. If this request is given during a merging procedure, all work is lost. Work is not saved unless merging is done from the beginning to the end of the segments. e execute rest of line as a Multics command line. x display identifiers, current line numbers, and pathnames of each text. help print a list of the edit requests and a brief explanation of each one. Notes on edit requests: In any invocation of edit mode the current block in each text is just the block of lines previously displayed. The current block in text M is initially empty, and is grown as the user selects or inputs lines. The print (p) and copy (k) requests may address any lines in any text (A to M) known to merge_ascii. The delete (d) request can only be applied to the current block in text M, and has the effect of undoing all edit requests made since changes were last displayed. Multiple edit requests, delimited by blanks, can be given on a single request line. However, the quit, go, input, and e requests must not be followed by other requests. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved