Code base synchronization between source control systems
AssigneeMicrosoft Technology Licensing, LLC
InventorsRyan Patrick Phillips, Michael Ronn Marcelais, James Coryell Hilke, Alexander Whitmore Halfpenny, Roman Tsegelskyi
Life of this patent
Estimating the term…
Abstract
Synchronizing a code base between source control systems is provided. A synchronization engine provides: forward bridging, where source code is migrated from a first source control system to a second source control system; pull bridging, where source code is migrated from the second source control system to the first source control system; and reverse bridging, where source code is merged from the second source control system to the main branch of source code in the first source control system.
Claims20
A computer-implemented method of transitioning source code between two source control systems, comprising:
- receiving a replica of files of a first source code base managed by a first source control system at a specific checkpoint;
- temporarily storing the replica of files of the first source code base in a first staging directory;
- synchronizing files of a second source code base managed by a second source control system up to the replica of files of the first source code base;
- creating a branch in the second source control system comprising a change set between the replica of files of the first source code base and the files of the second source code base;
- and
- merging the branch to a main branch of the second source code managed by the second source control system.
A system for transitioning source code between two source control systems, the computing device comprising:
- at least one processing device;
- and
- at least one computer readable data storage device storing instructions that, when executed by the at least one processing device, provide a synchronization engine, the synchronization engine operative to:
- receive a replica of files of a first source code base managed by a first source control system at a specific checkpoint;
- temporarily store the replica of files of the first source code base in a first staging directory;
- synchronize files of a second source code base managed by a second source control system up to the replica of files of the first source code base;
- create a branch in the second source control system comprising a change set between the replica of files of the first source code base and the files of the second source code base;
- and
- merge the branch to a main branch of the second source code managed by the second source control system.
A computer readable storage device including computer readable instructions, which when executed by a processing unit is operative to:
- receive a replica of files of a first source code base managed by a first source control system at a specific checkpoint;
- temporarily store the replica of files of the first source code base in a first staging directory;
- synchronize files of a second source code base managed by a second source control system up to the replica of files of the first source code base;
- create a branch in the second source control system comprising a change set between the replica of files of the first source code base and the files of the second source code base;
- merge the branch to a main branch of the second source code managed by the second source control system at a last previous commit migrated to the first source control system from the second source control system;
- receive an indication of changes made to the main branch of the second source code managed by the second source control system;
- receive a replica of files of the main branch of the second source code;
- temporarily store the replica of files of the main branch of the second source code in a folder;
- synchronize files of the first source code base up with the replica of files of the second source code base;
- identify code changes between the files of the first source code base and the replica of files of the second source code base;
- temporarily store a change set comprising the code changes in a staging directory associated with the first source control system;
- and
- merge the change set comprising the code changes to a main branch of the first source code base managed by the first source control system.
Dependencies are inferred from the claim text.