Blockchain technique for immutable source control
AssigneeInternational Business Machines Corporation
InventorsBradley C. Herrin, Xianjun Zhu, Bo Zhang, Alexander Sobran
Life of this patent
Estimating the term…
Abstract
An example operation may include one or more of intercepting a command from a user to modify a source tree in a source control system, creating a child ledger associated with a master ledger when the intercepted command is destructive, seeking consensus among users of the source tree to approve execution of the intercepted command, merging the child ledger into the master ledger with a transaction describing the intercepted command, a commit tree history, and status of the consensus, and a tree hash, and merging execution results of the intercepted command into a history of the source tree.
Claims20
A method, comprising:
- evaluating, by a proxy, a command from a user of a source control system to modify a source tree in the source control system;
- based on the evaluated command being a non-destructive command, passing the non-destructive command directly to the source control system for execution;
- based on the evaluated command being a destructive command, creating a child ledger linked to a master ledger;
- seeking consensus among users of the source tree to approve execution of the destructive command, wherein the consensus comprises a reply from a pre-defined number of users of the source tree to consent to execute the destructive command;
- in response to consensus being reached, merging the child ledger into the master ledger with a transaction describing the destructive command, a commit tree history, and status of the consensus, and a tree hash;
- in response to the child ledger being merged into the master ledger, executing the destructive command;
- and
- merging execution results of the intercepted command into the commit tree history.
A system, comprising:
- a hardware server configured to
- evaluate, by a proxy, a command from a user to modify a source tree in a source control system;
- based on the evaluated command being a non-destructive command, pass the non-destructive command directly to the source control system for execution;
- based on the evaluated command being a destructive command, create a child ledger linked to a master ledger;
- seek consensus among users of the source tree to approve execution of the destructive command, wherein the consensus comprises a reply from a pre-defined number of users of the source tree to consent to execute the destructive command;
- in response to consensus being reached, merge the child ledger into the master ledger with a transaction describing the intercepted command, a commit tree history, and status of the consensus, and a tree hash;
- in response to the child ledger being merged into the master ledger, execute the destructive command;
- and
- merge execution results of the intercepted command into the commit tree history.
A non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform:
- evaluate, by a proxy, a command from a user to modify a source tree in a source control system;
- based on the command being a non-destructive command, pass the non-destructive command directly to the source control system for execution;
- based on the evaluated command being a destructive command, create a child ledger linked to a master ledger;
- seek consensus among users of the source tree to approve execution of the destructive command, wherein the consensus comprises a reply from a pre-defined number of users of the source tree to consent to execute the destructive command;
- in response to consensus being reached, merge the child ledger into the master ledger with a transaction describing the intercepted command, a commit tree history, and status of the consensus, and a tree hash;
- in response to the child ledger being merged into the master ledger, execute the destructive command;
- and
- merge execution results of the intercepted command into the commit tree history.
Dependencies are inferred from the claim text.