From fe02ac5cf9267d58da886a4ce93caf5d7b9a56dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20Pe=C4=8Dovnik?= Date: Sun, 29 May 2022 14:46:47 +0200 Subject: [PATCH] Update README.md --- README.md | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index ba11333..d587bdf 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,25 @@ -# Shallow Linux Kernel `git` trees +

+ + Armbian logo +
+ armbian shallow kernel bundles production
+

-## Why +[![Make shallow bundles](https://github.com/armbian/gitutils/workflows/main-latest/badge.svg)](https://github.com/armbian/gitutils/actions/workflows/main-latest.yml) -- Full, non-shallow clones of Linux kernel trees are multiple gigabytes in size, and take a lot of time to process. -- Shallow clones are much smaller, but cloning/fetching shallow trees impose a huge load on the git server (eg: `kernel.org`) -- `kernel.org` has [git bundles](https://git-scm.com/docs/git-bundle) available for download over HTTPS/CDN (simple file download). - - in fact, they [recommend their use](https://www.kernel.org/best-way-to-do-linux-clones-for-your-ci.html) and have [instructions](https://www.kernel.org/cloning-linux-from-a-bundle.html) -- So this repo does the heavy lifting, grabbing bundles, updating them from live git servers, and makes them shallow and ready for consumption. - - Produced shallow bundles are around 250mb as of 5.18. - - Produced shallow bundles include all tags for the version involved, including `-rc` tags - - Scheduled runs update the bundles every 24hs, using GitHub actions, including caching. +# Preface + +- Full, non-shallow clones of Linux kernel trees are multiple gigabytes in size, and take a lot of time to process, +- Shallow clones are much smaller, but cloning/fetching shallow trees impose a huge load on the git server (eg: `kernel.org`), +- `kernel.org` has [git bundles](https://git-scm.com/docs/git-bundle) available for download over HTTPS/CDN (simple file download). In fact they [recommend their use](https://www.kernel.org/best-way-to-do-linux-clones-for-your-ci.html) and have [instructions](https://www.kernel.org/cloning-linux-from-a-bundle.html) + +## What this repo does? + +- it does the heavy lifting - grabbing bundles, updating them from live git servers, and makes them shallow and ready for consumption, + - Produced shallow bundles are around 250mb as of 5.18, + - Produced shallow bundles include all tags for the version involved, including `-rc` tags, + - Scheduled runs update the bundles every 24hs, using GitHub actions, including caching, + - They are deployed to two locations, as [Github releases](https://github.com/armbian/gitutils/releases/latest) and uploaded to main [Armbian CDN](https://dl.armbian.com/_gitbundles/) ## How to use @@ -17,11 +27,11 @@ ```bash # Download the bundle from this repo's Github releases. -wget --continue --progress=dot:giga -O "linux-5.17.gitbundle" "https://github.com/rpardini/armbian-git-shallow/releases/download/latest/linux-5.17.gitbundle" +wget --continue --progress=dot:giga -O "linux-5.17.gitbundle" "https://github.com/armbian/gitutils/releases/download/latest/linux-5.17.gitbundle" git init linux-5.17 # init an empty repo cd linux-5.17 # go into it git remote add "linux-5.17-bundle" "../linux-5.17.gitbundle" # add the downloaded bundle as a remote -wget -O ".git/shallow" "https://github.com/rpardini/armbian-git-shallow/releases/download/latest/linux-5.17.gitshallow" # download .git/shallow +wget -O ".git/shallow" "https://github.com/armbian/gitutils/releases/download/latest/linux-5.17.gitshallow" # download .git/shallow git fetch linux-5.17-bundle # fetch from the bundle. git checkout FETCH_HEAD # checkout from the bundle's HEAD git tag -l # look at the available tags (all 5.17-related tags)