Method and system for harmonization of variants of a sequential file
A set of versions of a file, with one chosen as baseline version, is displayed as a single flow of material where all agree with the baseline and in separate difference columns where they do not. A current version may be edited either directly or by adoption of material from different versions, which may be toggled in and out of visibility. Sequential undo (step-wise or by a slider) can be localized to chosen subsets of the current version, and any chosen subset can be restored as a unit to an earlier state.
1. A method in an electronic device performed by a control unit in the electronic device for harmonization of variants of a sequential file, comprising the following steps performed by a processor:
assembling a set of sequential files from among available variants;
selecting one file as a baseline file;
creating a unified data structure describing the baseline file and at least one difference from the baseline file of at least one sequential file in the set;
determining a grade of the at least one difference;
displaying common data between the baseline file and the at least one sequential file by using a full width of a display window, and the at least one difference based on the determined grade, wherein low graded differences are shown in line in a unified display of data drawn from the unified data structure, and higher graded differences are shown in separate columns; and
enabling a user to create a file, separately retrievable from the set of sequential files, incorporating elements of the different files of the set of sequential files, and to edit further changes into the created file.
2. A method according to claim 1 , where the created file is a new current version, displayed and stored separately from the baseline version, and treated as a new member of the set.
3. A method according to claim 1 , where the created file is displayed by causing the appearance of the baseline version to change in situ.
4. A method according to claim 1 , where the created file is saved using a separate file storage mechanism of an operating system, or as a set of differences from a reference file, and is retrievable via software operations that reconstruct it from the differences and the reference file.
5. A method according to claim 1 , where in-line markings or columns reflecting differences between the baseline file and other members of the set are color-coded according to each other member or its author.
6. A method according to claim 1 , where the data structure is based on a tree representation of the contents of each file, and of the differences.
7. A method according to claim 1 , where the data structure is a sequence of words, format markers and tags to indicate the sources of particular segments.
8. A method according to claim 1 , where in every columnized section the baseline file has a column, which is blank if the other column or columns represent insertions.
9. A method according to claim 1 , where the marked differences, whether shown in line or as columns, have icons by which they can be individually or collectively toggled in and out of visibility.
10. A method according to claim 1 , where the display alternative in which the changes are invisible shows the contents of the baseline file, or of the current version.
11. A method according to claim 1 , where a columnar segment may be minimized or iconized.
12. A method according to claim 1 , where clicking on a columnar segment, selected subset thereof, or in-line text from a version different from the created file causes it to replace the contents of the corresponding segment of the current version.
13. A method according to claim 1 , where a version of the created file is saved automatically upon exit from the program, or an auto save process continually updates such a version, which becomes the automatically saved version upon either deliberate or accidental exit from the program.
14. A method according to claim 1 , where the baseline version is chosen as that with least total difference from the others.
15. A method according to claim 1 , where the baseline version is one from which tracking or comparison has enabled the system to determine that all others in the set are ultimately derived from it.
16. A method according to claim 1 , where the lateral sequence of columns may be modified by the user.
17. A method according to claim 1 , wherein the step of determining the grade of the difference comprises determining whether the difference and baseline text can together be inserted within a single unbroken line, in an active typographic context, in which case it is a low grade difference, or otherwise, in which case it is a high grade difference.
18. A computer comprising:
a control unit connected to a memory and arranged to perform the following in order to harmonize variants of a sequential file:
assemble a set of sequential files from among available variants;
select one file as a baseline file;
create a unified data structure describing the baseline file and at least one difference from the baseline file of at least one sequential file in the set;
determine a grade of the at least one difference;
display common data between the baseline file and the at least one sequential file by using a full width of a display window, and the at least one difference based on the determined grade, wherein low graded differences are shown in line in a unified display of data drawn from the unified data structure, and higher graded differences are shown in separate columns; and
enable a user to create a file, separately retrievable from the set of sequential files, incorporating elements of the different files of the set of sequential files, and to edit further changes into the created file.
19. A computer program product including a computer usable storage medium having computer program logic stored therein which when implemented by a control unit of an electronic device enable the control unit to perform the steps of:
assembling a set of sequential files from among available variants;
selecting one file as a baseline file;
creating a unified data structure describing the baseline file and at least one difference from the baseline file of at least one sequential file in the set;
determining a grade of the at least one difference;
displaying common data between the baseline file and the at least one sequential file by using a full width of a display window, and the at least one difference based on the determined grade, wherein low graded differences are shown in line in a unified display of data drawn from the unified data structure, and higher graded differences are shown in separate columns; and
enabling a user to create a file, separately retrievable from the set of sequential files, incorporating elements of the different files of the set of sequential files, and to edit further changes into the created file.