Managing software packages using a version control system
First Claim
1. A method comprising:
- sending, by a processor at a client system, a request to a remote version control system (VCS) to obtain a difference between current metadata at the client system and newer metadata at the remote VCS, wherein the request comprises a version identifier of the current metadata, wherein the current metadata is stored locally at the client system, wherein the current metadata comprises names of first software packages currently installed or available at the client system, version identifiers corresponding to the first software packages, and lists of dependencies corresponding to the first software packages, wherein the newer metadata is stored remotely at the remote VCS, wherein the newer metadata comprises names of second software packages from the remote VCS to be installed or made available at the client system after an update to the first software packages, version identifiers corresponding to the second software packages, and lists of dependencies corresponding to the second software packages, and wherein the current metadata and the newer metadata are distinct from the first software packages and the second software packages;
receiving, at the client system, the difference from the remote VCS in response to sending the request to the remote VCS that comprises the version identifier of the current metadata and without receiving an entirety of the newer metadata from the remote VCS;
reconstructing, at the client system, the newer metadata in view of the locally stored current metadata and the received difference between the locally stored current metadata and the remotely stored newer metadata;
identifying, at the client system, a latest version of a software package in the second software packages in view of a comparison of the names, the versions, and the dependencies of the first software packages from the current metadata with corresponding ones of the names, the versions, and the dependencies of the second software packages from the reconstructed newer metadata; and
downloading and installing, at the client system, the latest version of the software package from the remote VCS in view of the identified latest version of the software package from the reconstructed newer metadata.
1 Assignment
0 Petitions
Accused Products
Abstract
A client version control system (VCS) accesses a remote VCS to retrieve the difference between current metadata stored locally representing a first version of the software packages currently installed and newer metadata representing a second version of the software packages available from a server for distribution, without having to download the entire newer metadata. The client VCS generates the newer metadata based on the current metadata and the difference of the current and newer metadata retrieved from the remote VCS. A package manager coupled to the client VCS to download the second version of the software package from the server based on the newer metadata then installs or updates newer releases of software packages as available from the distribution server.
-
Citations
15 Claims
-
1. A method comprising:
-
sending, by a processor at a client system, a request to a remote version control system (VCS) to obtain a difference between current metadata at the client system and newer metadata at the remote VCS, wherein the request comprises a version identifier of the current metadata, wherein the current metadata is stored locally at the client system, wherein the current metadata comprises names of first software packages currently installed or available at the client system, version identifiers corresponding to the first software packages, and lists of dependencies corresponding to the first software packages, wherein the newer metadata is stored remotely at the remote VCS, wherein the newer metadata comprises names of second software packages from the remote VCS to be installed or made available at the client system after an update to the first software packages, version identifiers corresponding to the second software packages, and lists of dependencies corresponding to the second software packages, and wherein the current metadata and the newer metadata are distinct from the first software packages and the second software packages; receiving, at the client system, the difference from the remote VCS in response to sending the request to the remote VCS that comprises the version identifier of the current metadata and without receiving an entirety of the newer metadata from the remote VCS; reconstructing, at the client system, the newer metadata in view of the locally stored current metadata and the received difference between the locally stored current metadata and the remotely stored newer metadata; identifying, at the client system, a latest version of a software package in the second software packages in view of a comparison of the names, the versions, and the dependencies of the first software packages from the current metadata with corresponding ones of the names, the versions, and the dependencies of the second software packages from the reconstructed newer metadata; and downloading and installing, at the client system, the latest version of the software package from the remote VCS in view of the identified latest version of the software package from the reconstructed newer metadata. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer-readable storage medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations comprising:
-
sending, by the processor at a client system, a request to a remote version control system (VCS) to obtain a difference between current metadata at the client system and newer metadata at the remote VCS, wherein the request comprises a version identifier of the current metadata, wherein the current metadata is stored locally at the client system, wherein the current metadata comprises names of first software packages currently installed or available at the client system, version identifiers corresponding to the first software packages, and lists of dependencies corresponding to the first software packages, wherein the newer metadata is stored remotely at the remote VCS, wherein the newer metadata comprises names of second software packages from the remote VCS to be installed or made available at the client system after an update to the first software packages, version identifiers corresponding to the second software packages, and lists of dependencies corresponding to the second software packages, and wherein the current metadata and the newer metadata are distinct from the first software packages and the second software packages; receiving, at the client system, the difference from the remote VCS in response to sending the request to the remote VCS that comprises the version identifier of the current metadata and without receiving an entirety of the newer metadata from the remote VCS; reconstructing, at the client system, the newer metadata in view of the locally stored current metadata and the received difference between the locally stored current metadata and the remotely stored newer metadata; identifying, at the client system, a latest version of a software package in the second software packages in view of a comparison of the names, the versions, and the dependencies of the first software packages from the current metadata with corresponding ones of the names, the versions, and the dependencies of the second software packages from the reconstructed newer metadata; and downloading and installing, at the client system, the latest version of the software package from the remote VCS in view of the identified latest version of the software package from the reconstructed newer metadata. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system comprising:
-
a memory, at a client system, to store current metadata; and a processor at the client system to communicate with the memory to; send a request to a remote version control system (VCS) to obtain a difference between the current metadata at the client system and newer metadata at the remote VCS, wherein the request comprises a version identifier of the current metadata, wherein the current metadata is stored locally at the client system, wherein the current metadata comprises names of first software packages currently installed or available at the client system, version identifiers corresponding to the first software packages, and lists of dependencies corresponding to the first software packages, wherein the newer metadata is stored remotely at the remote VCS, wherein the newer metadata comprises names of second software packages from the remote VCS to be installed or made available at the client system after an update to the first software packages, version identifiers corresponding to the second software packages, and lists of dependencies corresponding to the second software packages, and wherein the current metadata and the newer metadata are distinct from the first software packages and the second software packages, receive the difference from the remote VCS in response to the delivery of the request to the remote VCS that comprises the version identifier of the current metadata and without receipt of an entirety of the newer metadata from the remote VCS, reconstruct the newer metadata in view of the locally stored current metadata and the received difference between the locally stored current metadata and the remotely stored newer metadata, identify a latest version of a software package in the second software packages in view of a comparison of the names, the versions, and the dependencies of the first software packages from the current metadata with corresponding ones of the names, the versions, and the dependencies of the second software packages from the reconstructed newer metadata, and download and install the latest version of the software package from the remote VCS in view of the identified latest version of the software package from the reconstructed newer metadata. - View Dependent Claims (12, 13, 14, 15)
-
Specification