Code Monkey home page Code Monkey logo

Comments (5)

popcornmix avatar popcornmix commented on September 15, 2024

Looking at the history, the last four updates haven't touched the kernel/modules which is the largest part of the upgrade. Only one of those updates touched /opt/vc (and only partially).

I feel as long as there are no conflicts, then there is a saving from an incremental download.

from rpi-update.

fastcat avatar fastcat commented on September 15, 2024

That's why I provided a log ... git doesn't do the incremental download, at least not with --depth=1. It looks like if you want incremental downloads, you have to clone the full history, which is >800MB for this repo.

Unfortunately git 1.7 won't let you do a clone up to a specific revision any more (unless it is a branch head I guess), so it's hard to produce a demonstration test case. Since I do rdiff-backup on my pi, I can say that the log above was for going from Hexxeh/rpi-firmware@2ed05e0 to Hexxeh/rpi-firmware@bf92ca9, which only touches start_.elf and fixup_.dat, which is only 6.3M of files, even if there is no compression or binary delta being used. And yet it downloaded 28M for the incremental update, which then failed, so it had to download the 28M again.

I have a suspicion that the --depth=1 that prevents it from downloading the whole repo also prevents it from being able to apply the incremental update, which brings us back to keeping a full git clone on the pi. And with a full git clone, if you "miss" a revision that touches the full tree, then you don't even get the benefit of incremental updates, as you'll have to download two (or more) full trees in order to get the latest tree.

git is a great tool, but it's just not designed for this problem.

from rpi-update.

vicary avatar vicary commented on September 15, 2024

+1

I don't expect an incremental updates unless I am contributing on this, which I'd love to but many others may not.

from rpi-update.

Hexxeh avatar Hexxeh commented on September 15, 2024

You're right, Git isn't really the best way of doing this. I keep meaning
to do a Python rewrite at some point and just download the updates with
curl or something similar.

On 27 January 2013 12:56, Vicary Archangel [email protected] wrote:

+1

I don't expect an incremental updates unless I am contributing on this,
which I'd love to but many others may not.


Reply to this email directly or view it on GitHubhttps://github.com//issues/64#issuecomment-12753737.

from rpi-update.

popcornmix avatar popcornmix commented on September 15, 2024

I've made the simple change, of always fetching a clean repo, which should avoid the conflict/second download.
The curl download of the tarball (or some other scheme) may be quicker, but I'll save that for the Hexxeh's rewrite.

from rpi-update.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.