diff options
| author | Cedric CHEDALEUX <cedric.chedaleux@orange.com> | 2025-02-17 10:41:32 +0100 |
|---|---|---|
| committer | Robert Marko <robimarko@gmail.com> | 2025-03-04 12:01:38 +0100 |
| commit | efffa8a6084ea534751fe28c90a83a0b486f7176 (patch) | |
| tree | 333e66f97fb2ec53387de63f4a60f343592c6639 /scripts | |
| parent | f3a210b7425497155b22e197a4bcdaa034f142fa (diff) | |
| download | upstream-efffa8a6084ea534751fe28c90a83a0b486f7176.tar.gz upstream-efffa8a6084ea534751fe28c90a83a0b486f7176.tar.bz2 upstream-efffa8a6084ea534751fe28c90a83a0b486f7176.zip | |
scripts/feeds: shallow clone for specific commit update
When a feed is referenced with a specific commit (i.e. <git_url>^<sha1>),
a full clone was performed and a branch was created from the sha1
and named with the sha1. Other git clones operations are shallowed.
As Git does not support clone at a specific commit, let's first perform
a shallow clone to latest commit, then fetch the relevant commit and
finally checkout it (no more 'pseudo' branch).
It saves bandwith and significantly speeds up the feed update process.
Signed-off-by: Cedric CHEDALEUX <cedric.chedaleux@orange.com>
Link: https://github.com/openwrt/openwrt/pull/18003
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 32d0a57dc10811a24816e51f10e55963f40fe462)
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/feeds | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/feeds b/scripts/feeds index d07c28bc50f..0ff67658144 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -157,7 +157,7 @@ my %update_method = ( 'src-git' => { 'init' => "git clone --depth 1 '%s' '%s'", 'init_branch' => "git clone --depth 1 --branch '%s' '%s' '%s'", - 'init_commit' => "git clone '%s' '%s' && cd '%s' && git checkout -b '%s' '%s' && cd -", + 'init_commit' => "git clone --depth 1 '%s' '%s' && cd '%s' && git fetch --depth=1 origin '%s' && git -c advice.detachedHead=false checkout '%s' && cd -", 'update' => "git pull --ff-only", 'update_rebase' => "git pull --rebase=merges", 'update_stash' => "git pull --rebase=merges --autostash", |
