Using Distributed Source Control in a Centralized Source Control Environment
Abstract
A method is presented for using a distributed source control system with a centralized source control system. A first set of files is obtained from a source control repository and stored on a first electronic computing device. The first set of files comprises all or part of a code base in the centralized source control system. A request is received for at least part of the code base from a second electronic computing device in a distributed source control system. As a result of the request, at least a part of the first set of files is sent to the second electronic computing device. A change set for the first set of files is received from the second electronic computing device. The change set is processed to be in a format compatible with the source control repository. The change set is submitted to the source control repository.
Claims
exact text as granted — not AI-modified1 . A method for using a distributed source control system with a centralized source control system, the method comprising:
on a first electronic computing device, obtaining a first set of one or more files from a first source control repository, the first set of files comprising all or part of a code base in the centralized source control system, the first source control repository being a source control repository in a first centralized source control system; storing the first set of files on the first electronic computing device; receiving a request for at least part of the code base from a second electronic computing device, the second electronic computing device being an electronic computing device in a first distributed source control system; as a result of the request, sending the at least part of the first set of files to the second electronic computing device; receiving a second set of one or more files from the second electronic computing device, the second set of one or more files being a change set for the first set of files; and processing the change set so that the change set is in a format compatible with the first source control repository, the change set being processed in a change set check-in module stored on the first electronic computing device; and when the change set is in a format compatible with the first source control repository, submitting the change set to the first source control repository.
2 . The method of claim 1 , further comprising periodically obtaining updates from the first source control repository for one or more files of the first set of files and storing the updates on the first electronic computing device.
3 . The method of claim 1 , wherein the change set identifies a centralized source control system to which the change set is to be submitted.
4 . The method of claim 1 , wherein the change set includes a manifest that summarizes changes included in the change set.
5 . The method of claim 1 , wherein the change set includes additions and deletions to the first set of files.
6 . The method of claim 1 , wherein the change set includes versioning information.
7 . The method of claim 1 , wherein the change set includes source code changes from one or more source code branches not included in the first set of files.
8 . The method of claim 7 , wherein at least one of the source code branches is a feature branch, the feature branch comprising one or more software features or one or more software bug fixes.
9 . The method of claim 1 , wherein the second set of one of more files includes a zip file.
10 . The method of claim 1 , wherein the second set of one or more files includes an XML file.
11 . The method of claim 1 , wherein the second set of one or more files includes a script.
12 . The method of claim 1 , wherein the first source control repository resides on the first electronic computing device.
13 . The method of claim 1 , further comprising:
sending the at least part of the first set of files to a third electronic computing device, the third electronic computing device being part of a second distributed source control system; receiving a third set of one or more files from the third electronic computing device, the third set of one or more files being a second change set for the first set of files; processing the second change set so that the second change set is in a format compatible with the first source control repository; and when the second change set is in a format compatible with the first source control repository, submitting the second change set to the first source control repository.
14 . A first electronic computing device comprising:
a processing unit; and system memory, the system memory including instructions that, when executed by the processing unit, cause the first electronic computing device to:
obtain a first set of one or more files from a first source control repository, the first source control repository being a source control repository in a centralized source control system;
store the first set of files on the first electronic computing device;
receive a request for the first set of files from a second electronic computing device, the second electronic computing device being an electronic computing device in a first distributed source control system;
as a result of the request, send the first set of files to the second electronic computing device;
receive a second set of one or more files from the second electronic computing device, the second set of one or more files being a change set for the first set of files; and
process the change set so that the change set is in a format compatible with the first source control repository, the change set being processed in a change set check-in module stored on the first electronic computing device; and
when the change set is in a format compatible with the first source control repository, submit the change set to the first source control repository.
15 . The first electronic computing device of claim 14 , wherein the first electronic computing device supports a hybrid model, the hybrid model permitting source code check-out and check-in from a first client computer that is part of the centralized source control system and from a second client computer that is part of the distributed source control system.
16 . The first electronic computing device of claim 14 , further comprising periodically obtaining updates from the first source control repository for one or more files of the first set of files and storing the updates on the first electronic computing device.
17 . The method of claim 1 , wherein the change set identifies a centralized source control system to which the change set is to be submitted.
18 . The first electronic computing device of claim 14 , wherein the first source control repository resides on the first electronic computing device.
19 . The first electronic computing device of claim 14 , further comprising:
sending the at least part of the first set of files to a third electronic computing device, the third electronic computing device being part of a second distributed source control system; receiving a third set of one or more files from the third electronic computing device, the third set of one or more files being a second change set for the first set of files; processing the second change set so that the change set is in a format compatible with the first source control repository; and when the second change set is in a format compatible with the first source control repository, submitting the second change set to the first source control repository.
20 . A tangible computer readable storage medium comprising instructions that, when executed by an electronic computing device, cause the electronic computing device to:
obtain a first set of one or more files from a first source control repository, the first source control repository being a source control repository in a centralized source control system; store the first set of files on a first electronic computing device; periodically obtain updates from the first source control repository for one or more files of the first set of files and store the updates on the electronic computing device; receive a request for the first set of files from a second electronic computing device, the second electronic computing device being an electronic computing device in a first distributed source control system; as a result of the request, send the first set of files to the second electronic computing device; receive a second set of one or more files from the second electronic computing device, the second set of one or more files being a first change set for the first set of files, the first change set including a manifest that summarizes changes included in the first change set, the first change set including additions and deletions to the first set of files, the first change set including versioning information, the first change set including one or more source code branches not included in the first set of files, at least one of the source code branches being a feature branch, the feature branch comprising one or more software features or one or more software bug fixes; process the first change set so that the first change set is in a format compatible with the first source control repository, the change set being processed in a change set check-in module stored on the first electronic computing device; when the first change set is in a format compatible with the first source control repository, submit the first change set to the first source control repository; send the first set of files to a third electronic computing device, the third electronic computing device being part of a second distributed source control system; receive a third set of one or more files from the third electronic computing device, the third set of one or more files being a second change set for the first set of files, the second change set including additions and deletions to the first set of files, the second change set including versioning information, the second change set including one or more source code branches not included in the first set of files, at least one of the source code branches being a feature branch, the feature branch comprising one or more software features or one or more software bug fixes; process the second change set so that the second change set is in a format compatible with the first source control repository; and when the second change set is in a format compatible with the first source control repository, submitting the second change set to the first source control repository.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.