Change Set History Tree Attribution in Version Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Version control systems face challenges in efficiently tracking and attributing changesets in change set based source control systems, particularly in identifying when and by whom a specific changeset was delivered to a workspace or stream, due to the complexity of change set history trees and the lack of clear attribution in event history lists.

Innovation Solution

A method is implemented where a processor stores events associated with a workspace or stream, identifies a changeset of interest, and recursively re-identifies previous events to determine the node representing the changeset in the change set history tree, allowing retrieval of the event that added the changeset and the associated user information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If change set history trees are used to track changesets in a version control system, then the ability to share and optimize changes among users is improved, but the complexity of tracking and attributing specific changesets to workspaces or streams increases

Engineering Contradiction:
Improveability to share changesVSAvoidcomplexity of tracking changesets
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the complex change set history tracking problem into distinct components: event history lists that record discrete operations (deliver, update, remove), change set history trees that represent the structure of changes, and a mapping mechanism that connects events to specific nodes in the tree. This segmentation allows the system to track changesets efficiently by working with discrete, manageable units rather than treating the entire history as a monolithic structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces event history lists as an intermediary data structure that mediates between the operations performed on change sets and the change set history trees. These event lists serve as a bridge that records who performed what operation and when, enabling the system to attribute changesets to specific users and workspaces without directly querying the complex tree structure for each attribution query.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If event history lists store all operations in a workspace or stream, then the complete history of operations is preserved, but the difficulty of identifying when and by whom a specific changeset was delivered increases

Engineering Contradiction:
Improvecompleteness of historyVSAvoiddifficulty of identifying changeset delivery
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent extracts specific attribution information from the general event history by identifying and isolating events that are directly related to delivering a particular changeset to a workspace or stream. Rather than searching through all operations, the system extracts only the relevant events that caused the changeset to appear in the target location, making identification efficient while preserving the complete history for reference.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary indexing and organization of events in the event history lists, structuring the data so that events are ordered and tagged with information about which changesets they affect and which workspaces or streams they target. This preliminary organization enables rapid identification of delivery events without requiring a full scan of the entire event history when a changeset attribution query is made.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11768815B2Determining when a change set was delivered to a workspace or stream and by whom
Publication Date: 2023.09.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11768815B2 patent drawing
  • US11768815B2 patent drawing
  • US11768815B2 patent drawing

AI summary

Each of a plurality of events associated with a workspace or stream are stored to a functional data structure. Each of the plurality of events includes at least an indication of when an operation in the workspace or stream occurred and who performed the operation. Nodes of a change set history tree corresponding to the events can be recursively identified until a node corresponding to a change set of interest is identified. Responsive to identifying the node corresponding to the change set of interest, the event corresponding to such node can be identified as an event that added the change set of interest to the workspace or stream. The indication of when the operation represented by the event occurred and who performed the operation can be retrieved from the subject event. The indication of when the operation represented by the event occurred, and who performed the operation, can be output.