Floating Merge Selection Viewer for File Versioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software development tools face challenges in efficiently merging structured files due to complex internal multi-line structures and relationships, leading to increased time and screen clutter when rendering multiple file versions, especially for hierarchical or diagrammatic data.
Innovation Solution
A floating merge selection window is introduced, displaying limited contextual information about changes within a single window, allowing developers to select specific versions of code sections directly for inclusion in the merge file, reducing the need for multiple windows and improving usability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If multiple windows are used to display different file versions for merging, then complete version information is provided to users, but rendering time increases and screen clutter increases
Solution Approach 1:
The patent divides the file content into hierarchical segments (entire file, sections, subsections, individual changes) and allows users to view and merge at different levels of granularity. Instead of displaying complete file versions in multiple windows, the system segments the content and enables selective merging of specific portions, thereby reducing rendering time while preserving necessary version information.
Solution Approach 2:
The patent introduces a hierarchical dimension to the merge interface, organizing file content into nested levels (file → section → subsection → change). This hierarchical structure allows users to navigate and merge content vertically through levels rather than horizontally across multiple windows, reducing screen clutter and rendering requirements while maintaining complete version information availability.
2Loss of information
If multiple windows are used to display different file versions for merging, then complete version information is provided to users, but screen clutter increases
Solution Approach 1:
The patent segments file content into hierarchical units (sections, subsections, individual changes) that can be displayed and manipulated within a single window. This segmentation allows the interface to present complete version information through organized, collapsible hierarchical structures rather than requiring multiple simultaneous windows, thereby reducing screen clutter while maintaining information completeness.
Solution Approach 2:
The patent implements a nested hierarchical structure where file sections contain subsections, which contain individual changes. This nesting allows multiple levels of content organization to be displayed within a single window through expandable/collapsible elements, eliminating the need for multiple windows and reducing screen clutter while preserving complete version information.
3Loss of information
If structured data is rendered hierarchically or diagrammatically, then complete structural information is displayed, but rendering time and screen area requirements increase significantly
Solution Approach 1:
The patent segments structured data into hierarchical units (file, section, subsection, change) and renders them in a collapsible tree structure within a single window. This segmentation allows the system to display complete structural information on demand while enabling users to collapse irrelevant branches, thereby reducing actual rendering time and screen requirements compared to displaying entire hierarchical structures simultaneously.
Solution Approach 2:
The patent implements a dynamic hierarchical display where sections and subsections can be expanded or collapsed based on user needs. This dynamic rendering allows the interface to adapt to different viewing requirements, displaying only necessary portions of the structured data at any given time, thereby reducing rendering time and screen area usage while maintaining the ability to access complete structural information when needed.
Data Source
AI summary
A method of merging different versions of a file within a software development system can include, within a first window, presenting a graphic object which indicates a difference between a base version of the file and at least one contributor version of the file. Responsive to a pointing device being located within a defined area surrounding the graphic object, the method can include displaying a floating window having a first section and at least a second section. The first section can include a portion of the base version and the second section can include a portion of the at least one contributor version, wherein the first and second sections of the floating window are selectable. The method also can include receiving a selection of one of the sections of the floating window and accepting the base version or the at least one contributor version according to the selection.


