Git Benefits

Qualcomm® Package Manager uses Git and by design, Git provides users with only the software code that has changed since the last clone or pull command that was issued on the repository. This is immensely superior to Docs & Downloads because Docs & Downloads sends ZIP files only, which forces the user to re-download bytes of [compressed] software code, even if they already have it. With Qualcomm® Package Manager, an update to a software code release that is already cloned may end up being a few megabytes only, instead of the entire image\build zipped together. This benefit is received on subsequent git pull commands, not on initial clones. Initial clones require the download of the entire repository as a starting point.

Contributing Factors

Download speeds for cloning of large repositories (Many GBs) may not be consistent over the period of time it takes the content to download. The total speed can be slower over longer periods of time. Other types of traffic sometimes interfere with longer file transfers as well.

Helpful Network Features

There are QOS quality of service settings on some network circuits (if purchased that way) and the routers/switches can prioritize types of traffic, (Git, ftp, https, voice) and give them a priority. Please check with your network operator or IT department to determine if QOS for Git operations is available on the network circuit you are using. That could help increase speeds.

Regional Servers

The main Qualcomm® Package Manager server is currently located in San Diego. Since 2013, we have deployed regional servers around the world to help improve your download speeds significantly.

Initial Cloning

Once you have installed Git on your Windows or Linux machine, you are ready to download the code repository for the first time. This is called “cloning” in Git. When you clone a Git repository, a local version of the repository is setup and you bring the entire content of the repository to your local machine. If you are cloning a repository that is established with many releases, this could require a transfer of several gigabytes of data over your network. In these cases, we highly recommend performing a shallow clone instead.

In brief, a shallow clone performs the necessary local repository setup on your machine, but only pulls down the latest few releases from Qualcomm® Package Manager. This will save time and resources when you only are concerned with getting the latest code.

More information on performing your initial clone operation can be found here

Pulling Updated Releases From Qualcomm® Package Manager

One you have cloned the repository for the first time, you are ready to check for updated pieces of the code in the repository to download. This is called “pulling” in Git. When you command Git to do a pull, you are downloading newer files that exist on the repository to your local machine. In other words, you are bringing your local copy of the software code up-to-date.

Using git pull in a script is strongly recommended for 100% automation of release downloads. The clone portion described above is manual, but once the clone is done, you should never have to clone the repository again. You only need to use the git pull command after the clone is finished.

More information on pulling updated code from Qualcomm® Package Manager can be found here